{"__symbolic":"module","version":4,"metadata":{"TaskCenterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":241,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"LayoutComponent"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__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"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbm"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"ɵbq"},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","name":"ɵbs"},{"__symbolic":"reference","name":"ɵbt"},{"__symbolic":"reference","name":"ɵbu"},{"__symbolic":"reference","name":"ɵbv"},{"__symbolic":"reference","name":"ɵbw"},{"__symbolic":"reference","name":"ɵbx"},{"__symbolic":"reference","name":"ɵby"},{"__symbolic":"reference","name":"ɵbz"},{"__symbolic":"reference","name":"ɵca"},{"__symbolic":"reference","name":"ɵcb"},{"__symbolic":"reference","name":"ɵcc"},{"__symbolic":"reference","name":"ɵcd"},{"__symbolic":"reference","name":"ɵce"},{"__symbolic":"reference","name":"ɵcf"},{"__symbolic":"reference","name":"ɵcg"},{"__symbolic":"reference","name":"ɵch"},{"__symbolic":"reference","name":"ɵci"},{"__symbolic":"reference","name":"ɵcj"},{"__symbolic":"reference","name":"ɵck"},{"__symbolic":"reference","name":"ɵcl"},{"__symbolic":"reference","name":"ɵcm"},{"__symbolic":"reference","name":"ɵcn"},{"__symbolic":"reference","name":"ɵco"},{"__symbolic":"reference","name":"ɵcp"},{"__symbolic":"reference","name":"ɵcq"},{"__symbolic":"reference","name":"ɵcr"},{"__symbolic":"reference","name":"ɵco"},{"__symbolic":"reference","name":"ɵci"},{"__symbolic":"reference","name":"ɵcs"},{"__symbolic":"reference","name":"ɵct"},{"__symbolic":"reference","name":"ɵcv"},{"__symbolic":"reference","name":"ɵcw"},{"__symbolic":"reference","name":"ɵcx"},{"__symbolic":"reference","name":"ɵcy"},{"__symbolic":"reference","name":"ɵcz"},{"__symbolic":"reference","name":"ɵdb"},{"__symbolic":"reference","name":"ɵdc"},{"__symbolic":"reference","name":"ɵdd"},{"__symbolic":"reference","name":"ɵde"},{"__symbolic":"reference","name":"ɵdf"},{"__symbolic":"reference","name":"ɵdg"},{"__symbolic":"reference","name":"ɵdh"},{"__symbolic":"reference","name":"ɵdi"},{"__symbolic":"reference","name":"ɵdj"},{"__symbolic":"reference","name":"ɵdk"},{"__symbolic":"reference","name":"ɵdl"},{"__symbolic":"reference","name":"ɵdm"},{"__symbolic":"reference","name":"ɵdn"},{"__symbolic":"reference","name":"ɵdo"},{"__symbolic":"reference","name":"ɵdp"},{"__symbolic":"reference","name":"ɵdq"},{"__symbolic":"reference","name":"ɵdr"},{"__symbolic":"reference","name":"ɵda"},{"__symbolic":"reference","name":"ɵcu"},{"__symbolic":"reference","name":"ɵds"},{"__symbolic":"reference","name":"ɵdt"},{"__symbolic":"reference","name":"ɵdu"},{"__symbolic":"reference","name":"ɵdv"},{"__symbolic":"reference","name":"ɵdw"},{"__symbolic":"reference","name":"ɵdx"},{"__symbolic":"reference","name":"ɵdy"},{"__symbolic":"reference","name":"ɵdz"},{"__symbolic":"reference","name":"ɵea"},{"__symbolic":"reference","name":"ɵeb"},{"__symbolic":"reference","name":"ɵec"},{"__symbolic":"reference","name":"ɵed"},{"__symbolic":"reference","name":"ɵee"},{"__symbolic":"reference","name":"ɵef"},{"__symbolic":"reference","name":"ɵeg"},{"__symbolic":"reference","name":"ɵeh"},{"__symbolic":"reference","name":"ɵei"},{"__symbolic":"reference","name":"ɵej"},{"__symbolic":"reference","name":"ɵek"},{"__symbolic":"reference","name":"ɵel"},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","name":"ɵem"},{"__symbolic":"reference","name":"ɵen"},{"__symbolic":"reference","name":"SimpleStatisticsComponent"},{"__symbolic":"reference","name":"ɵeo"},{"__symbolic":"reference","name":"ɵep"},{"__symbolic":"reference","name":"ɵeq"},{"__symbolic":"reference","name":"ɵer"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":369,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":370,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":371,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/grid","name":"NzGridModule","line":186,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/divider","name":"NzDividerModule","line":187,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":188,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/button","name":"NzButtonModule","line":189,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/input-number","name":"NzInputNumberModule","line":190,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/auto-complete","name":"NzAutocompleteModule","line":191,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/cascader","name":"NzCascaderModule","line":192,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/checkbox","name":"NzCheckboxModule","line":193,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/date-picker","name":"NzDatePickerModule","line":194,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/form","name":"NzFormModule","line":195,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":196,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":197,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/select","name":"NzSelectModule","line":198,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/slider","name":"NzSliderModule","line":199,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/switch","name":"NzSwitchModule","line":200,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/time-picker","name":"NzTimePickerModule","line":201,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/transfer","name":"NzTransferModule","line":202,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/tree-select","name":"NzTreeSelectModule","line":203,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/upload","name":"NzUploadModule","line":204,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/avatar","name":"NzAvatarModule","line":205,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/badge","name":"NzBadgeModule","line":206,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/calendar","name":"NzCalendarModule","line":207,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/card","name":"NzCardModule","line":208,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/popover","name":"NzPopoverModule","line":209,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/statistic","name":"NzStatisticModule","line":210,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/table","name":"NzTableModule","line":211,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/tabs","name":"NzTabsModule","line":212,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/tag","name":"NzTagModule","line":213,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":214,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/tree","name":"NzTreeModule","line":215,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/alert","name":"NzAlertModule","line":216,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/drawer","name":"NzDrawerModule","line":217,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageModule","line":218,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalModule","line":219,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/popconfirm","name":"NzPopconfirmModule","line":220,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/progress","name":"NzProgressModule","line":221,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/spin","name":"NzSpinModule","line":222,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/layout","name":"NzLayoutModule","line":223,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/affix","name":"NzAffixModule","line":224,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzDropDownModule","line":225,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/steps","name":"NzStepsModule","line":226,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/breadcrumb","name":"NzBreadCrumbModule","line":227,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/collapse","name":"NzCollapseModule","line":228,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/pagination","name":"NzPaginationModule","line":229,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/skeleton","name":"NzSkeletonModule","line":230,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/empty","name":"NzEmptyModule","line":231,"character":2},{"__symbolic":"reference","module":"ng-zorro-antd/list","name":"NzListModule","line":232,"character":2},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":373,"character":4},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":374,"character":4},{"__symbolic":"reference","module":"angular-resizable-element","name":"ResizableModule","line":375,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/resizable","name":"NzResizableModule","line":376,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsModule","line":377,"character":4},"member":"forRoot"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":378,"character":4},"member":"forChild"},"arguments":[[{"path":"index","component":{"__symbolic":"reference","name":"LayoutComponent"},"data":{"title":"任务面板"}},{"path":"panel","component":{"__symbolic":"reference","name":"ɵb"},"data":{"title":"任务面板"}},{"path":"archive","component":{"__symbolic":"reference","name":"ɵk"},"data":{"title":"归档面板"}},{"path":"task-statistics","component":{"__symbolic":"reference","name":"SimpleStatisticsComponent"},"data":{"title":"任务统计"}}]]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-quill","name":"QuillModule","line":379,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"ng-fonda","name":"NgFondaModule","line":380,"character":4},{"__symbolic":"reference","module":"ngx-task-bpmn-view","name":"BpmnViewModule","line":381,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵcs"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵca"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"LayoutComponent"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵdz"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵcc"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵcb"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbm"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbs"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"ɵci"},{"__symbolic":"reference","name":"ɵcj"},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","name":"ɵec"},{"__symbolic":"reference","name":"ɵed"},{"__symbolic":"reference","name":"ɵee"},{"__symbolic":"reference","name":"ɵef"},{"__symbolic":"reference","name":"ɵej"},{"__symbolic":"reference","name":"ɵek"},{"__symbolic":"reference","name":"ɵel"},{"__symbolic":"reference","name":"SimpleStatisticsComponent"},{"__symbolic":"reference","name":"ɵeo"}],"entryComponents":[{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵdz"},{"__symbolic":"reference","name":"ɵbw"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbs"},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵby"},{"__symbolic":"reference","name":"ɵbx"},{"__symbolic":"reference","name":"ɵea"},{"__symbolic":"reference","name":"ɵeb"},{"__symbolic":"reference","name":"ɵec"},{"__symbolic":"reference","name":"ɵed"},{"__symbolic":"reference","name":"ɵee"},{"__symbolic":"reference","name":"ɵef"},{"__symbolic":"reference","name":"ɵej"},{"__symbolic":"reference","name":"ɵek"},{"__symbolic":"reference","name":"ɵel"}],"providers":[{"provide":{"__symbolic":"reference","module":"@stomp/ng2-stompjs","name":"InjectableRxStompConfig","line":464,"character":15},"useValue":{"__symbolic":"reference","name":"ɵes"}},{"provide":{"__symbolic":"reference","module":"@stomp/ng2-stompjs","name":"RxStompService","line":465,"character":15},"useFactory":{"__symbolic":"reference","module":"@stomp/ng2-stompjs","name":"rxStompServiceFactory","line":465,"character":43},"deps":[{"__symbolic":"reference","module":"@stomp/ng2-stompjs","name":"InjectableRxStompConfig","line":465,"character":73}]}]}]}],"members":{}},"LayoutComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"app-layout","providers":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":14,"character":14}],"template":"<nz-layout style=\"height:100%\">\r\n  <nz-sider nzCollapsible [(nzCollapsed)]=\"isCollapsed\" [nzCollapsedWidth]=\"20\" [nzTrigger]=\"triggerTemplate\" class=\"layout-side\">\r\n    <div class=\"collapsed-btn\">\r\n      <i\r\n        class=\"trigger\"\r\n        nz-icon\r\n        [nzType]=\"isCollapsed ? 'menu-unfold' : 'menu-fold'\"\r\n        (click)=\"isCollapsed = !isCollapsed\"\r\n      ></i>\r\n    </div>\r\n    <div class=\"board-operation\">\r\n      <div>\r\n        <i nz-icon nzType=\"appstore\" (click)=\"boardOperationPop=!boardOperationPop\"\r\n           style=\"font-size: 28px; transition: all 100ms;\" [style.transform]=\"boardOperationPop ? 'rotate(45deg)':'rotate(0)'\"></i>\r\n      </div>\r\n      <div class=\"board-operation-content\">\r\n        <i nz-icon [nzIconfont]=\"'icon-guidang'\" nz-tooltip nzTooltipTitle=\"已归档面板\" (click)=\"routToArchive()\"\r\n          [style.font-size]=\"boardOperationPop ? '25px' : '0'\" style=\"transition: font-size 100ms ease-in-out;\"></i>\r\n        <i nz-icon nzType=\"search\" nz-tooltip nzTooltipTitle=\"全局搜索\" (click)=\"showSearchModal()\"\r\n          [style.font-size]=\"boardOperationPop ? '25px' : '0'\" style=\"transition: font-size 100ms ease-in-out;\"></i>\r\n      </div>\r\n    </div>\r\n    <div id=\"home-collapsible-item-component\" class=\"home-collapsible-item-component boards\">\r\n      <div class=\"home-collapsible-item-header\">\r\n        <div class=\"item-title\">面板分组</div>\r\n        <div class=\"board-actions-wrapper\">\r\n          <div class=\"boards-section-actions-component\">\r\n            <div class=\"new-boards-list-button-component\"\r\n                 nz-popover\r\n                 nzPopoverTrigger=\"click\"\r\n                 [(nzPopoverVisible)]=\"popVisible\"\r\n                 [nzPopoverContent]=\"addBoardTemplate\">\r\n              <i nz-icon [nzIconfont]=\"'icon-tianjia'\"></i>\r\n            </div>\r\n            <ng-template #addBoardTemplate>\r\n              <div class=\"add-column-menu\">\r\n                <ul nz-menu [nzMode]=\"'vertical'\" style=\"width:150px\">\r\n                  <li nz-menu-item (click)=\"showBoardGroupModal()\"><i style=\"font-size:19px;vertical-align: middle;\" nz-icon [nzIconfont]=\"'icon-fenlan'\"></i> 新增分组</li>\r\n                  <li nz-menu-item (click)=\"showExcelImportModal()\">\r\n                    <i nz-icon nzType=\"import\" style=\"font-size: 17px;\"></i> 导入Excel数据\r\n                  </li>\r\n                </ul>\r\n                <!--<ul nz-menu [nzMode]=\"'vertical'\" style=\"width:150px\">\r\n                  <li nz-menu-item (click)=\"createBlankBoard()\"><i style=\"font-size:19px;vertical-align: middle;\" nz-icon [nzIconfont]=\"'icon-fenlan'\"></i> 创建空面板</li>\r\n                  <li *ngIf=\"templateList.length > 0\" nz-submenu>\r\n                    <span title><i style=\"font-size:19px;vertical-align: middle;\" nz-icon [nzIconfont]=\"'icon-board-template'\"></i> 选择模板创建</span>\r\n                    <ul>\r\n                      <li nz-menu-item *ngFor=\"let temp of templateList\" (click)=\"createBlankBoard(temp)\">{{temp.title}}</li>\r\n                    </ul>\r\n                  </li>\r\n                  <li nz-menu-item (click)=\"showExcelImportModal()\">\r\n                    <i nz-icon nzType=\"import\"></i> 导入Excel数据\r\n                  </li>\r\n                </ul>-->\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"home-item-content-wrapper\" [style.max-height]=\"tableMaxHeight\">\r\n        <ul nz-menu [nzMode]=\"'inline'\">\r\n          <li\r\n            *ngFor=\"let item of boardList\"\r\n            (click)=\"selectBoardChange(item)\"\r\n            nz-menu-item\r\n            title=\"{{item.name}}\"\r\n            class=\"board-list-item\"\r\n            [nzSelected]=\"currentBoardId == item.id\">\r\n            {{item.name}}\r\n            <div class=\"board-type\" *ngIf=\"!isCollapsed\">\r\n              <i *ngIf=\"item.kind === 'private'\" nz-tooltip nzTooltipTitle=\"私有面板，只有授权成员才能访问\" style=\"color: rgb(246, 95, 124);\" nz-icon nzType=\"lock\" nzTheme=\"outline\"></i>\r\n              <i *ngIf=\"item.kind === 'shareable'\" style=\"color: rgb(163, 88, 223);\" nz-icon nzType=\"share-alt\" nzTheme=\"outline\"></i>\r\n            </div>\r\n            <span nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"item['templatePopVisible']\" [nzPopoverContent]=\"boardListTemplate\" nzPopoverPlacement=\"right\">\r\n              <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n            </span>\r\n            <ng-template #boardListTemplate>\r\n              <div class=\"add-column-menu\">\r\n                <ul>\r\n                  <li (click)=\"showBoardRenameModal(item)\"><i style=\"font-size:16px\" nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑名称</li>\r\n                  <li (click)=\"showBoardAttributeModal(item)\"><i style=\"font-size:14px\" nz-icon nzType=\"form\" nzTheme=\"outline\"></i> 编辑属性</li>\r\n                  <ng-container *ngIf=\"item.isOwner == 'true'\">\r\n                    <li nz-popover [nzPopoverContent]=\"boardCategoryTemp\" nzPopoverPlacement=\"rightTop\">\r\n                      <i nz-icon nzType=\"logout\" style=\"font-size: 17px;\"></i> 移至分组\r\n                    </li>\r\n                    <ng-template #boardCategoryTemp>\r\n                      <nz-radio-group [(ngModel)]=\"item.categoryId\" (ngModelChange)=\"changeBoardCategory(item)\" style=\"min-width: 100px;\">\r\n                        <label *ngFor=\"let category of boardCategoryList\" style=\"display: block; text-align: center;margin:3px 0\"\r\n                               nz-radio-button [nzValue]=\"category.id\" [nzDisabled]=\"item.categoryId == category.id\">\r\n                          {{category.name}}</label>\r\n                      </nz-radio-group>\r\n                    </ng-template>\r\n                    <li *ngIf=\"item.kind == 'private'\" (click)=\"changeBoardKind(item, 'main')\"><i nz-icon nzType=\"unlock\" nzTheme=\"outline\" style=\"font-size: 17px;\"></i> 设为公共</li>\r\n                    <li *ngIf=\"item.kind == 'main'\" (click)=\"changeBoardKind(item, 'private')\"><i nz-icon nzType=\"lock\" nzTheme=\"outline\" style=\"font-size: 17px;\"></i> 设为私有</li>\r\n                    <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archiveBoard(item)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i>&nbsp;&nbsp;归档</li>\r\n                    <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removeBoard(item)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除</li>\r\n                  </ng-container>\r\n                </ul>\r\n              </div>\r\n            </ng-template>\r\n          </li>\r\n          <li class=\"create-board\" title=\"添加面板\" (click)=\"createBlankBoard(null)\">\r\n            <div style=\"text-align: center;cursor: pointer\"><i nz-icon nzType=\"plus-circle\" nzTheme=\"outline\"></i> 添加面板</div>\r\n          </li>\r\n        </ul>\r\n        <nz-collapse>\r\n          <nz-collapse-panel\r\n            *ngFor=\"let boardCategory of boardCategoryList\"\r\n            [nzHeader]=\"boardCategory.name\"\r\n            [nzExtra]=\"boardCategory.creator == systemProfile.userId ? extraTpl : null\"\r\n            [nzActive]=\"boardCategory.active\">\r\n            <div style=\"margin: -16px;\">\r\n              <ul nz-menu [nzMode]=\"'inline'\">\r\n                <li\r\n                  *ngFor=\"let item of boardCategory.boardList\"\r\n                  (click)=\"selectBoardChange(item)\"\r\n                  nz-menu-item\r\n                  title=\"{{item.name}}\"\r\n                  class=\"board-list-item\"\r\n                  [nzSelected]=\"currentBoardId == item.id\">\r\n                  {{item.name}}\r\n                  <div class=\"board-type\" *ngIf=\"!isCollapsed\">\r\n                    <i *ngIf=\"item.kind === 'private'\" nz-tooltip nzTooltipTitle=\"私有面板，只有授权成员才能访问\" style=\"color: rgb(246, 95, 124);\" nz-icon nzType=\"lock\" nzTheme=\"outline\"></i>\r\n                    <i *ngIf=\"item.kind === 'shareable'\" style=\"color: rgb(163, 88, 223);\" nz-icon nzType=\"share-alt\" nzTheme=\"outline\"></i>\r\n                  </div>\r\n                  <span nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"item['templatePopVisible']\" [nzPopoverContent]=\"boardListTemplate2\" nzPopoverPlacement=\"right\">\r\n                    <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                  </span>\r\n                  <ng-template #boardListTemplate2>\r\n                    <div class=\"add-column-menu\">\r\n                      <ul>\r\n                        <li (click)=\"showBoardRenameModal(item)\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑名称</li>\r\n                        <li (click)=\"showBoardAttributeModal(item)\"><i style=\"font-size:14px\" nz-icon nzType=\"form\" nzTheme=\"outline\"></i> 编辑属性</li>\r\n                        <ng-container *ngIf=\"item.isOwner == 'true'\">\r\n                          <li nz-popover [nzPopoverContent]=\"boardCategoryTemp2\" nzPopoverPlacement=\"rightTop\">\r\n                            <i nz-icon nzType=\"logout\" style=\"font-size: 17px;\"></i> 移至分组\r\n                          </li>\r\n                          <ng-template #boardCategoryTemp2>\r\n                            <nz-radio-group [(ngModel)]=\"item.categoryId\" (ngModelChange)=\"changeBoardCategory(item)\" style=\"min-width: 100px;\">\r\n                              <label *ngFor=\"let category of boardCategoryList\" style=\"display: block; text-align: center;margin:3px 0\"\r\n                                     nz-radio-button [nzValue]=\"category.id\" [nzDisabled]=\"item.categoryId == category.id\">\r\n                                {{category.name}}</label>\r\n                            </nz-radio-group>\r\n                          </ng-template>\r\n                          <li *ngIf=\"item.kind == 'private'\" (click)=\"changeBoardKind(item, 'main')\"><i nz-icon nzType=\"unlock\" nzTheme=\"outline\" style=\"font-size: 17px;\"></i> 设为公共</li>\r\n                          <li *ngIf=\"item.kind == 'main'\" (click)=\"changeBoardKind(item, 'private')\"><i nz-icon nzType=\"lock\" nzTheme=\"outline\" style=\"font-size: 17px;\"></i> 设为私有</li>\r\n                          <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archiveBoard(item)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i>&nbsp;&nbsp;归档</li>\r\n                          <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removeBoard(item)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除</li>\r\n                        </ng-container>\r\n                      </ul>\r\n                    </div>\r\n                  </ng-template>\r\n                </li>\r\n                <li class=\"create-board\" title=\"添加面板\" (click)=\"createCategoryBoard(boardCategory)\">\r\n                  <div style=\"text-align: center;cursor: pointer\"><i nz-icon nzType=\"plus-circle\" nzTheme=\"outline\"></i> 添加面板</div>\r\n                </li>\r\n              </ul>\r\n            </div>\r\n            <ng-template #extraTpl>\r\n              <i\r\n                style=\"color:#ccc\"\r\n                nz-popover\r\n                nzPopoverTrigger=\"click\"\r\n                [nzPopoverContent]=\"addContentTemplate\"\r\n                nz-icon nzType=\"down-circle\"\r\n                nzTheme=\"outline\"></i>\r\n            </ng-template>\r\n            <ng-template #addContentTemplate>\r\n              <div class=\"add-column-menu\">\r\n                <ul>\r\n                  <li (click)=\"editCategory(boardCategory)\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑名称</li>\r\n                  <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removeCategory(boardCategory)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除</li>\r\n                </ul>\r\n              </div>\r\n            </ng-template>\r\n          </nz-collapse-panel>\r\n        </nz-collapse>\r\n      </div>\r\n    </div>\r\n  </nz-sider>\r\n  <nz-layout style=\"height:100%\">\r\n    <div class=\"board-layout-container\" style=\"height:100%\">\r\n      <ng-container *ngIf=\"archiveBoardVisible\">\r\n        <nf-archived-board (refreshBoardList)=\"refreshBoardList()\"></nf-archived-board>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"!archiveBoardVisible\">\r\n        <ng-container *ngIf=\"linkStatus\">\r\n          <nf-task-panel *ngIf=\"currentBoardId\" (linkChange)=\"getChangeStatus($event)\" [boardAttribute]=\"boardAttribute\" (refreshList)=\"refreshBoard()\"></nf-task-panel>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!linkStatus\">\r\n          <nf-archive *ngIf=\"currentBoardId\" (linkChange)=\"getChangeStatus($event)\" [boardId]=\"currentBoardId\" [boardName]=\"currentBoardName\"></nf-archive>\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n  </nz-layout>\r\n</nz-layout>\r\n<ng-template #trigger>\r\n  <i nz-icon nzType=\"up\"></i>\r\n</ng-template>\r\n\r\n<!--新增面板分组-->\r\n<nz-modal nzTitle=\"创建分组\"\r\n          [nzVisible]=\"boardCategoryVisible\"\r\n          [nzWidth]=\"400\"\r\n          nzOkText=\"确定\"\r\n          nzCancelText=\"关闭\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"createBoardGroup()\"\r\n          (nzOnCancel)=\"boardCategoryVisible=false\">\r\n  <nz-form-item>\r\n    <nz-form-label [nzSpan]=\"6\" nzFor=\"boardCategoryName\">分组名称</nz-form-label>\r\n    <nz-form-control [nzSpan]=\"14\">\r\n      <input nz-input [(ngModel)]=\"boardCategoryName\" />\r\n    </nz-form-control>\r\n  </nz-form-item>\r\n</nz-modal>\r\n<!--编辑面板分组-->\r\n<nz-modal nzTitle=\"编辑分组\"\r\n          [nzVisible]=\"editBoardCategoryVisible\"\r\n          [nzWidth]=\"400\"\r\n          nzOkText=\"确定\"\r\n          nzCancelText=\"关闭\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"editBoardGroup()\"\r\n          (nzOnCancel)=\"editBoardCategoryVisible=false\">\r\n  <nz-form-item>\r\n    <nz-form-label [nzSpan]=\"6\" nzFor=\"boardCategoryName\">分组名称</nz-form-label>\r\n    <nz-form-control [nzSpan]=\"14\">\r\n      <input nz-input [(ngModel)]=\"boardCategoryName\" />\r\n    </nz-form-control>\r\n  </nz-form-item>\r\n</nz-modal>\r\n\r\n<!-- 新增弹窗 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleCancel()\"\r\n  nzTitle=\"创建面板\"\r\n  [nzWidth]=\"'600px'\"\r\n  [nzFooter]=\"modalFooter\">\r\n  <div class=\"create-board-wrapper\">\r\n    <form nz-form [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"6\" nzFor=\"boardCategory\">面板分组</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"18\">\r\n          <nz-select style=\"width: 100%;\" formControlName=\"categoryId\" nzSize=\"large\">\r\n            <nz-option *ngFor=\"let item of boardCategoryList\" [nzLabel]=\"item.name\" [nzValue]=\"item.id\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"6\" nzFor=\"boardName\" nzRequired>面板名称</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"18\" nzErrorTip=\"请输入面板名称!\">\r\n          <input required nz-input placeholder=\"输入面板名称\" formControlName=\"boardName\" [nzSize]=\"'large'\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"6\" nzFor=\"boardDateType\" nzRequired>任务日期筛选设置 <i style=\"margin-left:5px\" nz-tooltip nzTooltipTitle=\"选择按日期查询，面板任务开启按日期展示\" nz-icon nzType=\"info-circle\" nzTheme=\"outline\"></i></nz-form-label>\r\n        <nz-form-control [nzSpan]=\"18\" nzErrorTip=\"请选择任务日期筛选设置!\">\r\n          <nz-select style=\"width: 100%;\" formControlName=\"boardDateType\" nzSize=\"large\" nzAllowClear>\r\n            <nz-option [nzLabel]=\"'不限日期'\" [nzValue]=\"'0'\"></nz-option>\r\n            <nz-option [nzLabel]=\"'按日期查询'\" [nzValue]=\"'1'\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"6\" nzFor=\"kind\" nzRequired>面板类型</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"18\" nzErrorTip=\"请选择面板类型!\">\r\n          <div class=\"create-board-type\">\r\n            <nz-radio-group formControlName=\"kind\" nzName=\"boardTypegroup\" (ngModelChange)=\"boardTypeChange()\">\r\n              <label nz-radio nzValue=\"main\" nz-tooltip nzTooltipTitle=\"对您帐户中的所有人都可见\">常规</label>\r\n              <label nz-radio nzValue=\"private\" nz-tooltip nzTooltipTitle=\"单独或选定的团队成员可见\"><i style=\"color: rgb(246, 95, 124);\" nz-icon nzType=\"lock\" nzTheme=\"outline\"></i> 私有</label>\r\n              <label nzDisabled nz-radio nzValue=\"shareable\" nz-tooltip nzTooltipTitle=\"与客户一起合作\"><i style=\"color: rgb(163, 88, 223);\" nz-icon nzType=\"share-alt\" nzTheme=\"outline\"></i> 共享</label>\r\n            </nz-radio-group>\r\n          </div>\r\n          <div class=\"selected-board-description\">\r\n            {{boardTypeDescription}}\r\n          </div>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </form>\r\n  </div>\r\n  <ng-template #modalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n    <button nz-button nzType=\"primary\" type=\"button\" (click)=\"handleOk()\" [nzLoading]=\"isConfirmLoading\">创建</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"boardId\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n\r\n<!-- 导入Excel -->\r\n<nz-modal nzWrapClassName=\"custom-modal\" [(nzVisible)]=\"excelImportVisible\" (nzOnCancel)=\"excelImportVisible=false\" [nzTitle]=\"null\" [nzFooter]=\"null\" [nzWidth]=\"excelModalWidth\">\r\n  <ng-container *ngIf=\"excelImportStep > 0 && excelImportStep < 4\">\r\n    <div class=\"upload-file-step\">\r\n      步骤 {{excelImportStep}} / 3\r\n    </div>\r\n  </ng-container>\r\n  <!-- 第一步 上传文件 -->\r\n  <ng-container *ngIf=\"excelImportStep == -1\">\r\n    <div class=\"upload-file-component\" style=\"margin-top: 40px;\">\r\n      <div class=\"xls-upload-title\">\r\n        从 <b>Excel/CSV</b> 获取你的表格\r\n      </div>\r\n      <div class=\"xls-upload-dropzone-outer\" (click)=\"handleFileUpload()\">\r\n        <div class=\"xls-upload-inner-dropzone\">\r\n          <img src=\"assets/images/cloud-upload.png\" alt=\"\">\r\n          <div class=\"xls-upload-upload-text\">\r\n            <span class=\"xls-upload-click-to-browse\">点击上传</span>\r\n          </div>\r\n        </div>\r\n        <input id=\"excel-upload-input\" accept=\".xlsx,.xls,.csv\" type=\"file\" style=\"display: none;\">\r\n      </div>\r\n      <div class=\"xls-upload-buttom-bar\" style=\"width: 520px; margin-bottom: -15px;\">\r\n        <span>这个面板将会开放给所有人</span>\r\n        <br>\r\n        <span>(在导入之后,</span>\r\n        <span>你可以将它移动到你的 </span>\r\n        <span class=\"import-xls-onboarding-red-highlight\">\r\n          <i nz-icon nzType=\"lock\" nzTheme=\"outline\"></i> 私有面板\r\n        </span>\r\n        <span>中)</span>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <!-- 第二步 展示上传结果 -->\r\n  <ng-container *ngIf=\"excelImportStep == 0\">\r\n    <div class=\"auto-or-custom-component\">\r\n      <img style=\"margin-top: 80px;\" src=\"assets/images/done-animation-white.gif\" class=\"1\" alt=\"\">\r\n      <h1 style=\"margin-top: 15px;\">耶! 您的数据已经在这了!</h1>\r\n      <button class=\"auto-or-custom-auto-button ds-btn ds-btn-primary\" (click)=\"customExcelBoard()\">让我们开始定制您的新面板！</button>\r\n      <button class=\"auto-or-custom-back-button ds-btn ds-btn-secondary\" (click)=\"excelImportStep=-1\">重新上传文件</button>\r\n    </div>\r\n  </ng-container>\r\n  <!-- 第三步 选择第一行 -->\r\n  <ng-container *ngIf=\"excelImportStep == 1\">\r\n    <div class=\"show-xls-component\">\r\n      <div class=\"show-xls-title\">\r\n        <div class=\"show-xls-title-container\">\r\n          <img src=\"assets/images/import_xls_choose_row_title.png\" alt=\"\">\r\n          <div class=\"show-xls-title-text-container\">\r\n            <h1>选择您的第一行</h1>\r\n            <h2>这个将成为您的列标题(任务、项目等等)</h2>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div style=\"overflow: auto; height: 450px;\">\r\n      <table class=\"excel-table handsontable\" [style.width]=\"excelTableWidth + 'px'\">\r\n        <thead>\r\n          <tr>\r\n            <th style=\"background-color: #f3f3f3; width: 60px; height: 25px; border-color: #ebebeb !important;\"></th>\r\n            <th *ngFor=\"let th of excelTableColWidth; let i = index;\" [style.width]=\"excelTableColWidth[i] + 'px'\"\r\n              style=\"height: 25px; border-color: #ebebeb !important; border: 1px solid\">\r\n              {{getLetter(i)}}\r\n            </th>\r\n          </tr>\r\n        </thead>\r\n        <tbody id=\"excel-tbody\">\r\n          <tr *ngFor=\"let row of excelDisplayData; let i = index;\" style=\"cursor: pointer;\" (click)=\"rowClick(i)\">\r\n            <td style=\"background-color: #ebebeb; width: 60px; border-color: #ebebeb !important;\" class=\"text-center\">{{i+1}}</td>\r\n            <td class=\"htDimmed\" [ngClass]=\"{'area': td.rowHighlight, 'highlight': td.rowHighlight}\" *ngFor=\"let td of row;\">{{td.value}}</td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n    <div style=\"display: flex; height: 60px; line-height: 60px; border-top: 1px solid #ddd;\">\r\n      <div style=\"width: 80%;\">\r\n        <div class=\"xls-show-filename\">\r\n          <img src=\"assets/images/excel.png\" alt=\"\" style=\"height: 30px; margin-right: 10px;\">\r\n          {{excelBoardName}}\r\n        </div>\r\n      </div>\r\n      <div style=\"width: 20%;\">\r\n        <button class=\"ds-btn ds-btn-secondary\" (click)=\"stepBack()\">返回</button>\r\n        <button class=\"ds-btn ds-btn-primary\" (click)=\"nextStep()\">下一步</button>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <!-- 第四步 选择第一列 -->\r\n  <ng-container *ngIf=\"excelImportStep == 2\">\r\n    <div class=\"show-xls-component\">\r\n      <div class=\"show-xls-title\">\r\n        <div class=\"show-xls-title-container\">\r\n          <img src=\"assets/images/import_xls_choose_column_title.png\" alt=\"\">\r\n          <div class=\"show-xls-title-text-container\">\r\n            <h1>选择您的第一列</h1>\r\n            <h2>这个将成为每一行的标题(任务、项目等等)</h2>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div style=\"overflow: auto; height: 450px;\">\r\n      <table class=\"excel-table handsontable\" [style.width]=\"excelTableWidth + 'px'\">\r\n        <thead>\r\n          <tr>\r\n            <th style=\"background-color: #f3f3f3; width: 60px; height: 25px; border-color: #ebebeb !important;\"></th>\r\n            <th *ngFor=\"let th of excelTableColWidth; let i = index;\" [style.width]=\"excelTableColWidth[i] + 'px'\"\r\n              style=\"height: 25px; border-color: #ebebeb !important; border: 1px solid\">\r\n              {{getLetter(i)}}\r\n            </th>\r\n          </tr>\r\n        </thead>\r\n        <tbody>\r\n          <tr *ngFor=\"let row of excelDisplayData; let i = index;\" style=\"cursor: pointer;\">\r\n            <td style=\"background-color: #ebebeb; width: 60px; border-color: #ebebeb !important;\" class=\"text-center\">{{i+1}}</td>\r\n            <td class=\"htDimmed\" [ngClass]=\"{'area': td.columnHighlight, 'highlight': td.columnHighlight}\" *ngFor=\"let td of row; let j = index;\" (click)=\"columnClick(j)\">{{td.value}}</td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n    <div style=\"display: flex; height: 60px; line-height: 60px; border-top: 1px solid #ddd;\">\r\n      <div style=\"width: 80%;\">\r\n        <div class=\"xls-show-filename\">\r\n          <img src=\"assets/images/excel.png\" alt=\"\" style=\"height: 30px; margin-right: 10px;\">\r\n          {{excelBoardName}}\r\n        </div>\r\n      </div>\r\n      <div style=\"width: 20%;\">\r\n        <button class=\"ds-btn ds-btn-secondary\" (click)=\"stepBack()\">返回</button>\r\n        <button class=\"ds-btn ds-btn-primary\" (click)=\"nextStep()\">下一步</button>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <!-- 第五步 选择列功能属性 -->\r\n  <ng-container *ngIf=\"excelImportStep == 3\">\r\n    <div class=\"show-xls-component\">\r\n      <div class=\"show-xls-title\">\r\n        <div class=\"show-xls-title-container\">\r\n          <img src=\"assets/images/import_xls_choose_column_type_title.png\" alt=\"\">\r\n          <div class=\"show-xls-title-text-container\">\r\n            <h1>个性化您的面板列</h1>\r\n            <h2>您可以选择每个列的功能</h2>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div style=\"overflow: auto; height: 450px;\">\r\n      <table class=\"excel-table handsontable\" [style.width]=\"excelSelectedTableWidth + 'px'\">\r\n        <thead>\r\n          <tr>\r\n            <th style=\"background-color: #f3f3f3; width: 60px; height: 25px; border-color: #ebebeb !important;\"></th>\r\n            <th *ngFor=\"let th of excelSelectedColWidth; let i = index;\" [style.width]=\"excelSelectedColWidth[i] + 'px'\"\r\n              style=\"height: 25px; border-color: #ebebeb !important; border: 1px solid; min-width: 60px;\">\r\n              <ng-container *ngIf=\"i > 0\">\r\n                <div style=\"width: 100%; cursor: pointer;\"\r\n                     nz-popover nzPopoverPlacement=\"bottom\"\r\n                     nzPopoverTrigger=\"click\"\r\n                     (click)=\"highlightColumn(i)\"\r\n                  [(nzPopoverVisible)]=\"excelColumnPopVisible[i-1]\"\r\n                  [nzPopoverContent]=\"typeSelectPop\">\r\n                  <label>\r\n                    {{getExplain(types[i-1])}}\r\n                    <i nz-icon style=\"color: #009AFF;\" nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n                  </label>\r\n                </div>\r\n                <ng-template #typeSelectPop>\r\n                  <div style=\"margin: -8px; border-left: thin solid #C4C4C4; border-right: thin solid #C4C4C4; border-bottom: thin solid #C4C4C4;\">\r\n                    <div *ngFor=\"let option of excelColumnTypes[i-1]; let j = index;\" style=\"border-top: thin solid #C4C4C4;\"\r\n                      (click)=\"changeColumnType(i - 1, option)\">\r\n                      <div class=\"excel-column-option\">\r\n                        <div class=\"excel-column-content\">\r\n                          <ng-container *ngIf=\"option === 'text'\">\r\n                            <span class=\"excel-column-content-title\">文本</span>\r\n                            <span class=\"excel-column-content-explain\">自由格式信息和注释</span>\r\n                          </ng-container>\r\n                          <ng-container *ngIf=\"option === 'status'\">\r\n                            <span class=\"excel-column-content-title\">状态</span>\r\n                            <span class=\"excel-column-content-explain\">指示每行的状态或进度</span>\r\n                          </ng-container>\r\n                          <ng-container *ngIf=\"option === 'multiple-person'\">\r\n                            <span class=\"excel-column-content-title\">人员</span>\r\n                            <span class=\"excel-column-content-explain\">明确指示相关用户</span>\r\n                          </ng-container>\r\n                          <ng-container *ngIf=\"option === 'date'\">\r\n                            <span class=\"excel-column-content-title\">日期</span>\r\n                            <span class=\"excel-column-content-explain\">轻松管理和同步日期</span>\r\n                          </ng-container>\r\n                          <ng-container *ngIf=\"option === 'date-time'\">\r\n                            <span class=\"excel-column-content-title\">日期时间</span>\r\n                            <span class=\"excel-column-content-explain\">轻松管理和同步日期与时间</span>\r\n                          </ng-container>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </ng-template>\r\n              </ng-container>\r\n            </th>\r\n          </tr>\r\n        </thead>\r\n        <tbody>\r\n          <tr *ngFor=\"let row of excelSelectedData; let i = index;\">\r\n            <ng-container *ngIf=\"i === 0\">\r\n              <td style=\"background-color: #ebebeb; width: 60px; border-color: #ebebeb !important;\"\r\n                  class=\"text-center\" (click)=\"highlightRow(i)\">{{i+1}}</td>\r\n              <td class=\"htDimmed\"\r\n                [ngClass]=\"{'area': td.cellHighlight || td.rowHighlight || td.columnHighlight, 'highlight': td.cellHighlight || td.rowHighlight || td.columnHighlight}\"\r\n                  style=\"background-color: #EEE;\" *ngFor=\"let td of row; let j = index;\" (click)=\"highlightCell(i, j)\">\r\n                {{td.value}}\r\n              </td>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"i > 0\">\r\n              <td style=\"background-color: #ebebeb; width: 60px; border-color: #ebebeb !important;\" class=\"text-center\" (click)=\"highlightRow(i)\">{{i+1}}</td>\r\n              <td class=\"htDimmed\" *ngFor=\"let td of row; let j = index;\"\r\n                [ngClass]=\"{'area': td.cellHighlight || td.rowHighlight || td.columnHighlight, 'highlight': td.cellHighlight || td.rowHighlight || td.columnHighlight}\"\r\n                (click)=\"highlightCell(i, j)\">\r\n                <ng-container *ngIf=\"j === 0\">\r\n                  {{td.value}}\r\n                </ng-container>\r\n                <ng-container *ngIf=\"j > 0\">\r\n                  <ng-container [ngSwitch]=\"types[j-1]\">\r\n                    <ng-container *ngSwitchCase=\"'text'\">\r\n                      {{td.value}}\r\n                    </ng-container>\r\n                    <ng-container *ngSwitchCase=\"'status'\">\r\n                      {{td.value}}\r\n                    </ng-container>\r\n                    <ng-container *ngSwitchCase=\"'multiple-person'\">\r\n                      {{translateMail(td.value)}}\r\n                    </ng-container>\r\n                    <ng-container *ngSwitchCase=\"'date'\">\r\n                      {{td.value | date: 'yyyy-MM-dd'}}\r\n                    </ng-container>\r\n                    <ng-container *ngSwitchCase=\"'date-time'\">\r\n                      {{td.value | date: 'yyyy-MM-dd HH:mm:ss'}}\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </td>\r\n            </ng-container>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n    <div style=\"display: flex; height: 60px; line-height: 60px; border-top: 1px solid #ddd;\">\r\n      <div style=\"width: 75%;\">\r\n        <div class=\"xls-show-filename\">\r\n          <img src=\"assets/images/excel.png\" alt=\"\" style=\"height: 30px; margin-right: 10px;\">\r\n          {{excelBoardName}}\r\n        </div>\r\n      </div>\r\n      <div style=\"width: 25%; text-align: right;\">\r\n        <button [disabled]=\"importButtonLoading\" class=\"ds-btn ds-btn-secondary\" [ngClass]=\"{'btn-disabled': importButtonLoading}\" (click)=\"stepBack()\">返回</button>\r\n        <button [disabled]=\"importButtonLoading\" class=\"ds-btn ds-btn-primary\" [ngClass]=\"{'btn-disabled': importButtonLoading}\" (click)=\"importFromExcel()\">\r\n          <i nz-icon nzType=\"loading\" *ngIf=\"importButtonLoading\"></i>\r\n          创建面板\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <!-- 上传的文件为空时提示 -->\r\n  <ng-container *ngIf=\"excelImportStep == 4\">\r\n    <div class=\"upload-file-component\">\r\n      <img src=\"assets/images/failed-image.png\" alt=\"\" style=\"width: 217px; margin-top: 80px;\">\r\n      <div style=\"margin-top: 50px; text-align: center;\">\r\n        <label style=\"font-size: 27px;\">我们无法处理您的excel文件</label>\r\n      </div>\r\n      <div style=\"margin-top: 10px; text-align: center;\">\r\n        <div style=\"width: 300px;\">\r\n          抱歉，无法导入此文件，因为它太小。\r\n          请确保Excel的数据超过2列和1行，然后再次上载。\r\n        </div>\r\n      </div>\r\n      <button class=\"failed-upload-auto-button ds-btn ds-btn-primary\" (click)=\"uploadFileAgain()\">重新上传</button>\r\n    </div>\r\n  </ng-container>\r\n</nz-modal>\r\n\r\n<nz-modal nzTitle=\"编辑面板名称\"\r\n          [nzVisible]=\"renameVisible\"\r\n          nzOkText=\"确认\"\r\n          nzCancelText=\"取消\"\r\n          [nzMask]=\"false\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"renameBoard()\"\r\n          (nzOnCancel)=\"renameVisible=false\">\r\n  <input nz-input [(ngModel)]=\"boardNewName\" />\r\n</nz-modal>\r\n<nz-modal nzTitle=\"编辑面板属性\"\r\n          [nzVisible]=\"attributeVisible\"\r\n          nzOkText=\"确认\"\r\n          nzCancelText=\"取消\"\r\n          [nzMask]=\"false\"\r\n          [nzWidth]=\"'600px'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"editAttributeBoard()\"\r\n          (nzOnCancel)=\"attributeVisible=false\">\r\n  <nz-form-item>\r\n    <nz-form-label [nzSpan]=\"6\" nzFor=\"boardDateType\">任务日期筛选设置 <i style=\"margin-left:5px\" nz-tooltip nzTooltipTitle=\"选择按日期查询，面板任务开启按日期展示\" nz-icon nzType=\"info-circle\" nzTheme=\"outline\"></i></nz-form-label>\r\n    <nz-form-control [nzSpan]=\"18\">\r\n      <nz-select style=\"width: 100%;\" [(ngModel)]=\"boardDateType\" nzSize=\"large\">\r\n        <nz-option [nzLabel]=\"'不限日期'\" [nzValue]=\"'0'\"></nz-option>\r\n        <nz-option [nzLabel]=\"'按日期查询'\" [nzValue]=\"'1'\"></nz-option>\r\n      </nz-select>\r\n    </nz-form-control>\r\n  </nz-form-item>\r\n</nz-modal>\r\n\r\n<nz-modal [nzWidth]=\"searchModalWidth\" [(nzVisible)]=\"searchModalVisible\" [nzFooter]=\"null\" nzWrapClassName=\"search-modal\"\r\n  (nzOnCancel)=\"searchModalVisible = false\" [nzStyle]=\"{ top: '20px' }\">\r\n  <div [style.height]=\"searchModalHeight\" style=\"background-color: #292F4C; margin: -15px;\">\r\n    <div [style.height]=\"searchModalTitle\" class=\"search-modal-title\">\r\n      <div class=\"search-modal-title-content\">\r\n        <div>\r\n          <input (keydown.enter)=\"search()\" class=\"search-modal-title-input\" [(ngModel)]=\"searchKey\" placeholder=\"搜索\"/>\r\n          <span class=\"search-modal-title-search\">\r\n            <i nz-icon nzType=\"search\" (click)=\"search()\" style=\"color: #6B6E82; font-size: 36px;\"></i>\r\n          </span>\r\n        </div>\r\n        <div class=\"search_menu\">\r\n          <div class=\"search_menu_inner\">\r\n            <a style=\"margin-left: 10px;\"></a>\r\n            <a class=\"search_segment\" (click)=\"changeTag('crossBoards')\" [ngClass]=\"{'selected': selectedTag == 'crossBoards'}\">跨面板</a>\r\n            <span class=\"right_section\">\r\n              <label nz-checkbox [(ngModel)]=\"archiveChecked\" (ngModelChange)=\"search()\" style=\"color: white;\">搜索已归档内容</label>\r\n              <button nz-button nzType=\"primary\" (click)=\"showDateFilter()\">{{dateFilterVisible?'关闭日期搜索':'根据日期搜索'}}</button>\r\n            </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div *ngIf=\"dateFilterVisible\" style=\"padding: 0 20px;\">\r\n      <nf-date-slider (valueChange)=\"getSearchDates($event)\"></nf-date-slider>\r\n    </div>\r\n    <div [style]=\"{height: searchModalContent, 'background-color': openSearch ? 'white':'#292F4C'}\"\r\n      style=\"border-top-left-radius: 8px; border-top-right-radius: 8px;\">\r\n      <ng-container *ngIf=\"openSearch\">\r\n        <ng-container *ngIf=\"searchSpin || searchResult.length == 0\">\r\n          <div style=\"text-align: center; background-color: #292F4C; height: 100%;\">\r\n            <nz-spin nzSimple [nzSpinning]=\"searchSpin\" nzSize=\"large\"></nz-spin>\r\n            <div *ngIf=\"!searchSpin && searchResult.length == 0\" style=\"text-align: center; padding-top: 20px; font-size: 20px; color: white;\">\r\n              未查询到相关记录！\r\n            </div>\r\n          </div>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!searchSpin && searchResult.length > 0\">\r\n          <div style=\"height: 100%; overflow-y: auto;\">\r\n            <ng-container *ngFor=\"let board of searchResult\">\r\n              <div class=\"cross-board-header-main\">\r\n                <div class=\"cross-board-header-left\">\r\n                  <a class=\"router\">{{board.name}}</a>\r\n                </div>\r\n                <div class=\"workspace-container\"></div>\r\n              </div>\r\n              <div style=\"overflow-x: auto;\" [style.height]=\"searchResult.length == 1 ? 'calc(100% - 32px)':''\">\r\n                <task-table [nfData]=\"board\" [showFilter]=\"false\"></task-table>\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".trigger{cursor:pointer;font-size:16px;line-height:32px;transition:color .3s}.board-layout-container{background:#fff;padding:10px;position:relative}.collapsed-btn{background:#fff;border-radius:50%;bottom:50px;box-shadow:3px 4px 3px rgba(0,0,0,.1);height:30px;position:absolute;right:-15px;text-align:center;width:30px;z-index:999}.layout-side{background:#efefef;border-right:1px solid #ddd}.home-collapsible-item-component{border-bottom:1px solid #e1e1e1;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;height:100%;width:100%}.home-collapsible-item-component .home-collapsible-item-header{align-items:center;display:flex;flex-shrink:0;height:64px;padding:0 20px;padding:0 24px;width:100%}.home-collapsible-item-component .home-collapsible-item-header .item-title{flex-grow:1;font-size:16px;font-weight:400;transition:color .2s ease}.home-control-component .board-actions-wrapper{position:relative}.boards-section-actions-component{align-items:center;display:flex}.boards-section-actions-component .boards-filter-wrapper,.boards-section-actions-component .boards-menu-wrapper{margin-right:8px;opacity:0;transition:opacity .1s ease}.new-boards-list-button-component{cursor:pointer;position:relative}.new-boards-list-button-component i{color:#009aff;font-size:20px;position:relative}.new-boards-list-button-component i:hover{color:#0186ff}.home-collapsible-item-component .home-item-content-wrapper{display:flex;flex-direction:column;flex-grow:1;min-height:0;overflow-x:hidden;overflow-y:auto;position:relative}.home-item-content-wrapper::-webkit-scrollbar{width:3px!important}.home-item-content-wrapper::-webkit-scrollbar-thumb{background-color:#a8a8a8!important;border:1px solid #a8a8a8!important;border-radius:10px!important}.home-item-content-wrapper::-webkit-scrollbar-track-piece{background-color:#d3d3d3!important;border-radius:10px!important}.home-collapsible-item-component .home-item-content-wrapper .board-list-item span{position:absolute;right:18px;visibility:hidden}.home-collapsible-item-component .home-item-content-wrapper .board-list-item:hover span{position:absolute;right:18px;visibility:visible;z-index:999}.board-type{position:absolute;right:0;top:0;z-index:999}::ng-deep .home-item-content-wrapper .ant-menu{background:transparent;padding:0}::ng-deep .home-item-content-wrapper .ant-menu-item{border-radius:5px;padding-left:15px!important;padding-right:44px!important}::ng-deep .home-item-content-wrapper .ant-menu-item:hover{background:rgba(0,0,0,.05)}::ng-deep .home-item-content-wrapper .ant-menu-item.ant-menu-item-selected:hover{background:#f0fbff}::ng-deep .ant-layout{background:#fff}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;height:30px;line-height:30px;padding-left:5px;padding-right:5px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px}.create-board-type{margin-bottom:15px;margin-top:0}.selected-board-description{color:grey;font-size:12px;font-weight:300}.create-board-wrapper{padding:20px 10px}::ng-deep .add-column-menu .ant-menu-item{height:30px;line-height:30px;padding:0 6px}::ng-deep .add-column-menu .ant-menu-vertical .ant-menu-item:not(:last-child){margin-bottom:0}::ng-deep .add-column-menu .ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title{height:30px;line-height:30px;padding:0}::ng-deep .add-column-menu .ant-menu-submenu-title:hover{color:#fff}::ng-deep .cdk-overlay-connected-position-bounding-box .ant-menu-item{height:30px;line-height:30px}::ng-deep .cdk-overlay-connected-position-bounding-box .ant-menu-item:not(:last-child){margin-bottom:0}::ng-deep .cdk-overlay-connected-position-bounding-box .ant-menu-item:hover{background:#2196f3;border-radius:4px;color:#fff}.ant-menu-inline .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child),::ng-deep .ant-menu-vertical .ant-menu-item:not(:last-child){margin-bottom:0}.upload-file-step{color:#c4c4c4;left:30px;position:absolute;top:10px}.upload-file-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;align-items:center;display:flex;flex-direction:column;height:100%;user-select:none;width:100%;z-index:99999}.upload-file-component .xls-upload-title{font-size:30px;margin-bottom:10px}.upload-file-component .xls-upload-dropzone-outer{-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;align-items:center;background:#f7f7f7;border:1px dashed #c4c4c4;border-radius:4px;cursor:pointer;display:flex;height:180px;justify-content:center;margin-bottom:50px;margin-top:20px;text-align:center;transition:all .3s ease-in;user-select:none;width:350px}.upload-file-component .xls-upload-buttom-bar{background:#f1f1f1;border-bottom-left-radius:4px;border-bottom-right-radius:4px;color:#6e6e6e;font-size:13px;line-height:20px;padding:20px 40px;text-align:center}.upload-file-component .import-xls-onboarding-red-highlight{color:red;margin-left:1px}.auto-or-custom-component{align-items:center;display:flex;flex-direction:column;height:100%;width:100%}.auto-or-custom-component .auto-or-custom-auto-button{margin-bottom:5px;margin-top:55px;padding:0 60px}.ds-btn-primary{background-color:#009aff;border-color:#009aff;box-shadow:none;color:#fff;outline:none}.ds-btn-primary:hover{background-color:#0083d9}.ds-btn-primary-loading{background-color:#009aff;border-color:#009aff;box-shadow:none;color:#fff;cursor:default;margin-top:1px;outline:none;padding:0 .24rem 0 0}.ds-btn-primary-loading .loader{-webkit-animation:spin_accel .8s ease infinite;animation:spin_accel .8s ease infinite;border-radius:50%;color:#fff;overflow:hidden;position:relative;transform:translateZ(0)}.ds-btn{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border:1px solid transparent;border-radius:15rem;cursor:pointer;display:inline-block;font-family:Roboto;font-size:14px;font-weight:300;height:38px;line-height:1.25;padding:.641rem 2rem;text-align:center;transition:padding-left .35s cubic-bezier(.19,1,.22,1),padding-right .35s cubic-bezier(.19,1,.22,1),color .1s ease-in-out,background-color .1s ease-in-out,border-color .1s ease-in-out;user-select:none;vertical-align:middle;white-space:nowrap}.btn-disabled{cursor:not-allowed}.ds-btn .loader{font-size:.677rem;height:.677rem;margin:.677rem;min-width:.677rem}.ds-btn-secondary{background-color:transparent;border-radius:0;color:#009aff;font-weight:300;outline:none}.ds-btn-secondary:hover{color:#4a4a4a}.show-xls-component{align-items:center;color:grey!important;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%}.show-xls-component .show-xls-title{display:block;font-size:30px;padding-bottom:24px;padding-left:30px;padding-top:24px;position:relative;width:100%}.show-xls-title-container{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;display:flex;flex-direction:row;user-select:none}.show-xls-title-container img{height:49px}.show-xls-title-container .show-xls-title-text-container{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;margin-left:16px}.show-xls-title-container .show-xls-title-text-container h1{font-size:32px;font-weight:500;letter-spacing:0;margin-bottom:0}.show-xls-title-container .show-xls-title-text-container h2{font-size:14px;font-weight:400;letter-spacing:0}.handsontable td,.handsontable th{background-clip:padding-box;background-color:#fff;border-bottom:1px solid #ccc;border-left-width:0;border-right:1px solid #ccc;border-top-width:0;empty-cells:show;font-size:15px;height:24px;line-height:24px;outline-width:0;overflow:hidden;padding:0 4px;vertical-align:top;white-space:pre-line}.handsontable td:first-of-type{border-left:1px solid #ccc}.handsontable td.highlight{-webkit-animation:breathing 1.5s ease-in-out infinite;animation:breathing 1.5s ease-in-out infinite}@-webkit-keyframes breathing{0%{background-color:#d0f1fe}40%{background-color:#88daf8}to{background-color:#d0f1fe}}@keyframes breathing{0%{background-color:#d0f1fe}40%{background-color:#88daf8}to{background-color:#d0f1fe}}@-webkit-keyframes spin_accel{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em;transform:rotate(0deg)}5%,65%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}to{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em;transform:rotate(1turn)}}@keyframes spin_accel{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em;transform:rotate(0deg)}5%,65%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}to{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em;transform:rotate(1turn)}}.handsontable td.area{background:linear-gradient(180deg,rgba(181,209,255,.34),rgba(181,209,255,.34));background-color:#fff}.handsontable .htDimmed{color:#777}.show-xls-component .show-xls-button-section{align-items:center;border-top:1px solid #ddd;display:flex;flex-direction:row;flex-grow:0;height:80px;position:relative;width:100%}.xls-show-filename{color:#333;font-size:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:250px}.excel-table .text-center,.excel-table th{text-align:center}.excel-column-option{min-width:220px;padding:6px}.excel-column-option:hover{-webkit-animation:breathing 1.5s ease-in-out infinite;animation:breathing 1.5s ease-in-out infinite}.excel-column-content{border-radius:4px;display:flex;flex-direction:column;padding:6px}.excel-column-content:hover{background-color:#009aff!important}.excel-column-content-title{font-size:15px;font-weight:600;letter-spacing:2px}.excel-column-content-explain{font-size:12px;font-weight:400;letter-spacing:1px}.failed-upload-component{align-items:center;display:flex;flex-direction:column;height:100%;padding:30px;text-align:center;width:100%}.failed-upload-auto-button{margin-bottom:5px;margin-top:45px;padding:0 60px}.board-operation{background-color:transparent;bottom:16px;cursor:pointer;display:flex;height:40px;left:16px;min-width:100px;position:absolute;z-index:1000}.board-operation-content{background-color:transparent;margin-left:5px}.board-operation-content i{line-height:32px;margin-left:8px}.board-operation-img{border:2px solid #fff;border-radius:50%;bottom:16px;color:#a9a9a9;font-size:32px;height:46px;left:10px;padding-top:5px;position:absolute;transition:all .1s ease;width:46px;z-index:9999}.board-operation-img:hover{bottom:19px;font-size:28px;height:40px;left:13px;width:40px}.board-operation-btn{align-items:center;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:400;letter-spacing:0;padding:8px;text-decoration:none;white-space:nowrap}.board-operation-btn:hover{background-color:#009aff;color:#fff}::ng-deep .search-modal .ant-modal-close{color:#fff}.search-modal-title{background-color:#292f4c}.search-modal-title-content{padding-top:40px}.search-modal-title-content input:focus{outline:none}.search-modal-title-input{background-color:#292f4c;border:0;border-bottom:3px solid hsla(0,0%,100%,.3);caret-color:#fff;color:#fff;font-size:40px;height:80px;outline:none;padding-left:12px;width:100%}.search-modal-title-input:focus{border-bottom:3px solid #fff;border-top:0!important;outline:none}.search-modal-title-search{position:absolute;right:30px;top:75px}.search_menu{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;display:flex;flex-direction:column-reverse;flex-shrink:0;margin:16px 0;user-select:none}.search_menu_inner{display:flex;flex-grow:1}.search_segment{border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-right:8px;padding:5px 15px;text-decoration:none;transition:background-color .2s ease}.search_segment.selected,.search_segment:hover{background-color:#181d37}.right_section{position:absolute;right:20px}.cross-board-header-main{align-items:center;display:flex}.cross-board-header-left{flex:0 1 auto;height:32px;margin-right:4px;padding-top:32px}.workspace-container{cursor:pointer;display:flex;flex-direction:row}.router{border:1px solid transparent;border-radius:2px;color:#000;font-size:20px;padding:3px;text-decoration:none}.router:hover{background:#f1f1f1;border-color:#e1e1e1}.create-board{border-radius:5px;height:40px;line-height:40px;padding-left:15px!important;padding-right:44px!important;width:calc(100% + 1px)}.create-board:hover{background-color:rgba(0,0,0,.05)}[nz-radio]{display:block;height:32px;line-height:32px}::ng-deep .custom-modal .ant-modal-close{color:#000!important}"]}]}],"members":{"customTrigger":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":3},"arguments":["trigger",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":93,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconService","line":94,"character":27},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":95,"character":26},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":96,"character":22},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":97,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getChangeStatus":[{"__symbolic":"method"}],"getBoardCategoryList":[{"__symbolic":"method"}],"getBoardList":[{"__symbolic":"method"}],"getBoardTemplateList":[{"__symbolic":"method"}],"selectBoardChange":[{"__symbolic":"method"}],"showBoardGroupModal":[{"__symbolic":"method"}],"createBoardGroup":[{"__symbolic":"method"}],"editBoardGroup":[{"__symbolic":"method"}],"createBlankBoard":[{"__symbolic":"method"}],"createCategoryBoard":[{"__symbolic":"method"}],"boardTypeChange":[{"__symbolic":"method"}],"showExcelImportModal":[{"__symbolic":"method"}],"handleFileUpload":[{"__symbolic":"method"}],"uploadFileAgain":[{"__symbolic":"method"}],"calculateColumnWidth":[{"__symbolic":"method"}],"transferDataType":[{"__symbolic":"method"}],"customExcelBoard":[{"__symbolic":"method"}],"stepBack":[{"__symbolic":"method"}],"nextStep":[{"__symbolic":"method"}],"getLetter":[{"__symbolic":"method"}],"getExplain":[{"__symbolic":"method"}],"rowClick":[{"__symbolic":"method"}],"columnClick":[{"__symbolic":"method"}],"highlightRow":[{"__symbolic":"method"}],"highlightColumn":[{"__symbolic":"method"}],"highlightCell":[{"__symbolic":"method"}],"highlightCellCancel":[{"__symbolic":"method"}],"rowHighlightCancel":[{"__symbolic":"method"}],"columnHighlightCancel":[{"__symbolic":"method"}],"calculateColumnType":[{"__symbolic":"method"}],"changeColumnType":[{"__symbolic":"method"}],"translateMail":[{"__symbolic":"method"}],"importFromExcel":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"showBoardRenameModal":[{"__symbolic":"method"}],"showBoardAttributeModal":[{"__symbolic":"method"}],"renameBoard":[{"__symbolic":"method"}],"editAttributeBoard":[{"__symbolic":"method"}],"archiveBoard":[{"__symbolic":"method"}],"refreshBoard":[{"__symbolic":"method"}],"removeBoard":[{"__symbolic":"method"}],"changeBoardCategory":[{"__symbolic":"method"}],"changeBoardKind":[{"__symbolic":"method"}],"clearLocalStorage":[{"__symbolic":"method"}],"handleSelectMember":[{"__symbolic":"method"}],"handleMemberOk":[{"__symbolic":"method"}],"handleMemberCancel":[{"__symbolic":"method"}],"routToArchive":[{"__symbolic":"method"}],"showSearchModal":[{"__symbolic":"method"}],"showDateFilter":[{"__symbolic":"method"}],"refreshBoardList":[{"__symbolic":"method"}],"changeTag":[{"__symbolic":"method"}],"getSearchDates":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"editCategory":[{"__symbolic":"method"}],"removeCategory":[{"__symbolic":"method"}]}},"TaskService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"setBaseApi":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":17,"character":34}]}],"getPrefix":[{"__symbolic":"method"}],"getUserBoardData":[{"__symbolic":"method"}],"doCreateBoard":[{"__symbolic":"method"}],"doDeleteBoard":[{"__symbolic":"method"}],"updateBoard":[{"__symbolic":"method"}],"updateBoardViews":[{"__symbolic":"method"}],"getBoardTemplateData":[{"__symbolic":"method"}],"getBoardData":[{"__symbolic":"method"}],"queryDateTaskPanel":[{"__symbolic":"method"}],"doAddGroup":[{"__symbolic":"method"}],"getBoardColumn":[{"__symbolic":"method"}],"doAddPulse":[{"__symbolic":"method"}],"doAddColumn":[{"__symbolic":"method"}],"doDeleteGroup":[{"__symbolic":"method"}],"doDeleteColumn":[{"__symbolic":"method"}],"doDeletePulse":[{"__symbolic":"method"}],"doEditGroupTitle":[{"__symbolic":"method"}],"doEditGroupLabel":[{"__symbolic":"method"}],"doEditColumnHeader":[{"__symbolic":"method"}],"doEditPulseName":[{"__symbolic":"method"}],"doEditPulse":[{"__symbolic":"method"}],"doAddStatusLabel":[{"__symbolic":"method"}],"addPosts":[{"__symbolic":"method"}],"getPosts":[{"__symbolic":"method"}],"doReplayPost":[{"__symbolic":"method"}],"doRemovePost":[{"__symbolic":"method"}],"getLogData":[{"__symbolic":"method"}],"getInfoBoxData":[{"__symbolic":"method"}],"addInfoBox":[{"__symbolic":"method"}],"editInfoBox":[{"__symbolic":"method"}],"deleteInfoBox":[{"__symbolic":"method"}],"getRecycleData":[{"__symbolic":"method"}],"queryGroupRecycleWithLabel":[{"__symbolic":"method"}],"restoreRecycle":[{"__symbolic":"method"}],"restoreRecycleNew":[{"__symbolic":"method"}],"getPulseData":[{"__symbolic":"method"}],"getGroupData":[{"__symbolic":"method"}],"setCollapseState":[{"__symbolic":"method"}],"setAllCollapseState":[{"__symbolic":"method"}],"batchChangeColumn":[{"__symbolic":"method"}],"columnSort":[{"__symbolic":"method"}],"getIntegrationData":[{"__symbolic":"method"}],"getAutomationsBoundTypeMap":[{"__symbolic":"method"}],"addAutomations":[{"__symbolic":"method"}],"getAutomations":[{"__symbolic":"method"}],"getAutomationPages":[{"__symbolic":"method"}],"switchAutomations":[{"__symbolic":"method"}],"patchAutomations":[{"__symbolic":"method"}],"deleteAutomations":[{"__symbolic":"method"}],"buttonClickEvent":[{"__symbolic":"method"}],"getBoardUser":[{"__symbolic":"method"}],"getBoardUer":[{"__symbolic":"method"}],"getBoardSubscribers":[{"__symbolic":"method"}],"addBoardSubscriber":[{"__symbolic":"method"}],"editBoardSubscriber":[{"__symbolic":"method"}],"removeBoardSubscriber":[{"__symbolic":"method"}],"getBoardPermission":[{"__symbolic":"method"}],"addBoardPermission":[{"__symbolic":"method"}],"setLockState":[{"__symbolic":"method"}],"setHideState":[{"__symbolic":"method"}],"getColumnUsers":[{"__symbolic":"method"}],"addPermit":[{"__symbolic":"method"}],"removePermit":[{"__symbolic":"method"}],"getColumnsUser":[{"__symbolic":"method"}],"setColumnEncrypt":[{"__symbolic":"method"}],"queryTaskPanel":[{"__symbolic":"method"}],"delayTask":[{"__symbolic":"method"}],"exportBoardToExcel":[{"__symbolic":"method"}],"exportExcelWithInfoBox":[{"__symbolic":"method"}],"importExcelToBoard":[{"__symbolic":"method"}],"doAddSelectOption":[{"__symbolic":"method"}],"querySmsTemplateList":[{"__symbolic":"method"}],"batchDownload":[{"__symbolic":"method"}],"batchDownloadWithWatermark":[{"__symbolic":"method"}],"statisticsDashboard":[{"__symbolic":"method"}],"statisticsLast30daysTask":[{"__symbolic":"method"}],"statisticsFutureWeekTask":[{"__symbolic":"method"}],"searchEverything":[{"__symbolic":"method"}],"moveToGroup":[{"__symbolic":"method"}],"importDataToGroup":[{"__symbolic":"method"}],"getGroupAuthority":[{"__symbolic":"method"}],"setGroupAuthority":[{"__symbolic":"method"}],"setTitleLock":[{"__symbolic":"method"}],"getBoardPulses":[{"__symbolic":"method"}],"batchAttachUser":[{"__symbolic":"method"}],"getBoardGroups":[{"__symbolic":"method"}],"changeGroupPos":[{"__symbolic":"method"}],"changeColumnPos":[{"__symbolic":"method"}],"queryProcessList":[{"__symbolic":"method"}],"queryProcessActivities":[{"__symbolic":"method"}],"queryAuditBoardList":[{"__symbolic":"method"}],"queryAuditItemList":[{"__symbolic":"method"}],"getBoardCategoryList":[{"__symbolic":"method"}],"getBoardNameList":[{"__symbolic":"method"}],"updateBoardSort":[{"__symbolic":"method"}],"createBoardCategory":[{"__symbolic":"method"}],"editBoardCategory":[{"__symbolic":"method"}],"removeBoardCategory":[{"__symbolic":"method"}],"queryStatus":[{"__symbolic":"method"}],"pulseSort":[{"__symbolic":"method"}],"pulsePostReadRecord":[{"__symbolic":"method"}],"getManualTaskData":[{"__symbolic":"method"}],"getTaskDepartment":[{"__symbolic":"method"}],"getWorkDefs":[{"__symbolic":"method"}],"getPublicKey":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"getRefreshTodayAuditDate":[{"__symbolic":"method"}],"getRefreshTodayIndicatorDate":[{"__symbolic":"method"}],"postBoardPulseScanLog":[{"__symbolic":"method"}],"getBoardPulseScanLog":[{"__symbolic":"method"}],"refreshAuditStatus":[{"__symbolic":"method"}],"refreshMonitorStatus":[{"__symbolic":"method"}],"getHeadList":[{"__symbolic":"method"}],"getTotalData":[{"__symbolic":"method"}],"getExecutionsList":[{"__symbolic":"method"}],"exportExcel":[{"__symbolic":"method"}],"getAuditList":[{"__symbolic":"method"}],"getSupervisoryList":[{"__symbolic":"method"}],"sendConfirmOprate":[{"__symbolic":"method"}],"sendReviewOprate":[{"__symbolic":"method"}],"editListData":[{"__symbolic":"method"}],"addNoticeTemplate":[{"__symbolic":"method"}],"getOutIndicatorItemColumns":[{"__symbolic":"method"}],"getIndicatorHeadList":[{"__symbolic":"method"}],"getIndicatorExecutionsList":[{"__symbolic":"method"}],"getIndicatorTotalData":[{"__symbolic":"method"}],"exportIndicatorExcel":[{"__symbolic":"method"}],"addIndicatorNoticeTemplate":[{"__symbolic":"method"}],"getEmailTemplateList":[{"__symbolic":"method"}],"getGroupField":[{"__symbolic":"method"}],"getUserList":[{"__symbolic":"method"}],"getRoleList":[{"__symbolic":"method"}],"getgetEmailTemplateDetail":[{"__symbolic":"method"}],"reportView":[{"__symbolic":"method"}],"getIndicatorItems":[{"__symbolic":"method"}],"getAuditItems":[{"__symbolic":"method"}],"getTaskList":[{"__symbolic":"method"}],"boardStatistic":[{"__symbolic":"method"}],"getIndicatorRules":[{"__symbolic":"method"}],"getSystemRoles":[{"__symbolic":"method"}],"getSysParams":[{"__symbolic":"method"}],"queryCategoryProcess":[{"__symbolic":"method"}],"queryProcessActivityNode":[{"__symbolic":"method"}],"getProdProducts":[{"__symbolic":"method"}],"addManualTask":[{"__symbolic":"method"}],"getProductJob":[{"__symbolic":"method"}],"getOrgMember":[{"__symbolic":"method"}],"getProductStaff":[{"__symbolic":"method"}],"addProductStaff":[{"__symbolic":"method"}],"getProductOprators":[{"__symbolic":"method"}],"addProductPresident":[{"__symbolic":"method"}],"deletePeoductPresident":[{"__symbolic":"method"}],"getTaskDepartments":[{"__symbolic":"method"}],"getAuditLists":[{"__symbolic":"method"}],"getIndicatorList":[{"__symbolic":"method"}],"addTask":[{"__symbolic":"method"}],"getTaskDetail":[{"__symbolic":"method"}],"editTask":[{"__symbolic":"method"}],"batchEditTask":[{"__symbolic":"method"}],"batchDeleteTaskDef":[{"__symbolic":"method"}],"drag":[{"__symbolic":"method"}],"deleteTask":[{"__symbolic":"method"}],"getReportList":[{"__symbolic":"method"}],"getLabelGroupStatistics":[{"__symbolic":"method"}],"getGroupRowsValue":[{"__symbolic":"method"}],"auditItemProgress":[{"__symbolic":"method"}],"getAuditBoards":[{"__symbolic":"method"}],"getIndicatorBoards":[{"__symbolic":"method"}],"getAuditBoardsItem":[{"__symbolic":"method"}],"getIndicatorBoardsItem":[{"__symbolic":"method"}],"getAllBusiness":[{"__symbolic":"method"}],"getBusinessCategory":[{"__symbolic":"method"}],"getBusinessField":[{"__symbolic":"method"}],"postBoardTaskStatus":[{"__symbolic":"method"}],"patchBoardTaskStatus":[{"__symbolic":"method"}],"deleteBoardTaskStatus":[{"__symbolic":"method"}],"getBoardTaskStatus":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"SERVICE_CONFIG":{"baseApi":"/task","environment":{"systemModule":"/system","taskModule":"/task","operationModule":"/operation","productModule":"/product","auditModule":"/audit","indicatorModule":"/indicator","datasourceModule":"/datasource","workflowModule":"/workflow"}},"SimpleStatisticsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-simple-statistics","template":"<div class=\"simple-statistics-component\">\r\n  <div class=\"simple-statistics-content\">\r\n    <div class=\"simple-statistics-area\">\r\n      <div class=\"simple-statistics-area-title\">\r\n        <a (click)=\"openTaskStatisticsDialog()\"\r\n           nz-popover\r\n           [(nzPopoverVisible)]=\"isTaskStatisticsVisible\"\r\n           nzPopoverTrigger=\"click\"\r\n           (nzPopoverVisibleChange)=\"boardChange($event)\"\r\n           [nzPopoverContent]=\"contentTemplate\"><i class=\"simple-statistics-area-title\" nz-icon nzType=\"setting\" nzTheme=\"outline\"></i></a>\r\n        <label style=\"padding-bottom: 2px\">任务统计</label>\r\n      </div>\r\n      <div class=\"simple-statistics-area-chart\">\r\n        <div id=\"container\" style=\"width:600px\"></div>\r\n      </div>\r\n      <div class=\"simple-statistics-list\">\r\n        <nz-tabset [(nzSelectedIndex)]=\"index\">\r\n          <nz-tab *ngFor=\"let tab of chartData\" [nzTitle]=\"titleTemplate\" (nzClick)=\"changeLabel(tab.type)\">\r\n            <ng-template #titleTemplate>\r\n              <span [style.color]=\"tab.color\"><i class=\"tags-icon\" nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i> {{ tab.type }}</span>\r\n            </ng-template>\r\n            <div class=\"simple-statistics-list-table\">\r\n              <nz-table #basicTable\r\n                        [nzShowPagination]=\"false\"\r\n                        [nzPageSize]=\"100\"\r\n                        [nzData]=\"labelData\">\r\n                <thead>\r\n                <tr>\r\n                  <th>所属分组</th>\r\n                  <th>所属面板</th>\r\n                  <th>待开始</th>\r\n                  <th>进行中</th>\r\n                </tr>\r\n                </thead>\r\n                <tbody>\r\n                <tr *ngFor=\"let data of basicTable.data\">\r\n                  <td><a (click)=\"openTaskDialog(data)\">{{data.title}}</a></td>\r\n                  <td>{{data.boardName}}</td>\r\n                  <td>{{ data.init}}</td>\r\n                  <td>\r\n                    {{data.starting}}\r\n                  </td>\r\n                </tr>\r\n                </tbody>\r\n              </nz-table>\r\n            </div>\r\n          </nz-tab>\r\n        </nz-tabset>\r\n<!--        <div class=\"simple-statistics-list-tags\">-->\r\n<!--          <ul>-->\r\n<!--            <ng-container *ngFor=\"let data of chartData\">-->\r\n<!--              <li (click)=\"changeLabel(data.type)\" [style.color]=\"data.color\"><i class=\"tags-icon\" nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i>  {{data.type}}</li>-->\r\n<!--            </ng-container>-->\r\n\r\n\r\n\r\n<!--            <li><i class=\"tags-icon\" nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i> 研究支持类</li>-->\r\n<!--            <li><i class=\"tags-icon\" nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i> 监管报送类</li>-->\r\n<!--            <li><i class=\"tags-icon\" nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i> 常规事项类</li>-->\r\n<!--          </ul>-->\r\n<!--        </div>-->\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- 查看任务统计 -->\r\n<nz-modal [(nzVisible)]=\"isTaskVisible\"\r\n          [nzTitle]=\"'任务列表'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'70%'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzFooter]=\"taskModalFooter\"\r\n          (nzOnCancel)=\"handleTaskCancel()\">\r\n<!--  <div class=\"simple-statistics-list-table\">-->\r\n  <div>\r\n    <nz-table #groupTable\r\n              [nzShowPagination]=\"false\"\r\n              [nzPageSize]=\"100\"\r\n              [nzScroll]=\"{ y: '500px' }\"\r\n              [nzData]=\"groupData\">\r\n      <thead>\r\n      <tr>\r\n        <th [nzWidth]=\"'5%'\"></th>\r\n        <th [nzWidth]=\"'25%'\">名称</th>\r\n        <th [nzWidth]=\"'30%'\">内容</th>\r\n        <th [nzWidth]=\"'10%'\">状态</th>\r\n        <th [nzWidth]=\"'15%'\">时间区间</th>\r\n        <th [nzWidth]=\"'15%'\">最后更新</th>\r\n      </tr>\r\n      </thead>\r\n      <tbody>\r\n      <tr *ngFor=\"let data of groupTable.data; let i = index\">\r\n        <td>{{i+1}}</td>\r\n        <td>{{data.name}}</td>\r\n        <td>{{ data.text}}</td>\r\n        <td>\r\n          <label style=\"color: rgb(193, 193, 193);font-size:12px;\" *ngIf=\"data.status === '0'\">未开始</label>\r\n          <label style=\"color: rgb(253, 171, 61);font-size:12px;\" *ngIf=\"data.status === '1'\">进行中</label>\r\n          <label style=\"color: rgb(0, 200, 117);font-size:12px;\" *ngIf=\"data.status === '2'\">完成</label>\r\n          <label style=\"color: rgb(226, 68, 92);font-size:12px;\" *ngIf=\"data.status === '3'\">已停止</label>\r\n          <label style=\"color: rgb(87, 155, 252);font-size:12px;\" *ngIf=\"data.status === '3'\">等待审核</label>\r\n        </td>\r\n        <td>\r\n          {{data.startDate}}至{{data.endDate}}\r\n        </td>\r\n        <td>{{data.updaterName}}  {{data.timeText}}</td>\r\n      </tr>\r\n      </tbody>\r\n    </nz-table>\r\n  </div>\r\n  <ng-template #taskModalFooter>\r\n    <button type=\"button\" nz-button nzType=\"default\" (click)=\"handleTaskCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"isTaskVisible=false\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n\r\n<ng-template #contentTemplate>\r\n<div style=\"width: 200px\">\r\n<!--  <nz-input-group [nzSuffix]=\"suffixIconSearch\">-->\r\n<!--    <input type=\"text\" nz-input placeholder=\"请输入面板名称\" [(ngModel)]=\"boardName\" (ngModelChange)=\"getBoardList($event)\"/>-->\r\n<!--  </nz-input-group>-->\r\n  <ng-template #suffixIconSearch>\r\n    <i nz-icon nzType=\"search\"></i>\r\n  </ng-template>\r\n  <nz-checkbox-group [(ngModel)]=\"checkOptions\"></nz-checkbox-group>\r\n</div>\r\n\r\n</ng-template>\r\n","styles":[".simple-statistics-component{display:flex;height:100%;position:relative;width:100%}.simple-statistics-member{border-right:1px solid rgba(0,0,0,.07);width:200px}.simple-statistics-content{background:#fff!important;width:100%}.simple-statistics-area{background:#fff;height:250px}.simple-statistics-area-title{color:#040404;height:38px;line-height:38px;padding:0 0 0 20px}.simple-statistics-area-title a{color:#fff;font-size:18px;margin-right:10px}.simple-statistics-area-chart{border-bottom:1px solid #e0e0e0}.simple-statistics-list{padding:0 5px}.simple-statistics-list-tags ul{display:flex}.simple-statistics-list-tags li{cursor:pointer;font-size:16px;font-weight:700;margin:0 20px}.tags-icon{transform:rotate(90deg)}.simple-statistics-list-table{margin-top:15px}::ng-deep .ant-checkbox-group-item{display:inline-block;margin-right:8px;width:200px}::ng-deep .g2-legend-wrapper{max-width:600px!important}::ng-deep .g2-legend-list{height:150px;width:600px}::ng-deep .g2-legend-list li{float:left;width:240px}::ng-deep .g2-legend-list li div{display:inline-block}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"getBoardList":[{"__symbolic":"method"}],"selectMember":[{"__symbolic":"method"}],"openTaskStatisticsDialog":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"handelChartData":[{"__symbolic":"method"}],"getAvatarColor":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleTaskOk":[{"__symbolic":"method"}],"handleTaskCancel":[{"__symbolic":"method"}],"changeLabel":[{"__symbolic":"method"}],"boardChange":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-abstract-page-component","template":"","styleUrls":[]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"setData":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"nf-task-panel","providers":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":29,"character":14}],"template":"<div id=\"content-wrapper\" class=\"first-level-content-wrapper\">\r\n  <!-- 头部begin -->\r\n  <div class=\"board-header\">\r\n    <div class=\"board-header-content-wrapper\">\r\n      <div class=\"board-header-main\">\r\n        <div class=\"board-header-left\">\r\n          <div class=\"board-views\">\r\n            <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.boardView : ''\">\r\n              <a nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\">\r\n                <i style=\"color:#666\" class=\"view-icon\" nz-icon [nzIconfont]=\"defaultView.icon\"></i> {{defaultView.title}} <i nz-icon nzType=\"down\"></i>\r\n              </a>\r\n              <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                <ul nz-menu>\r\n                  <li *ngIf=\"taskParameters && taskParameters.maintable && taskParameters.maintable === 'maintable'\" [nzSelected]=\"defaultView.code == 'maintable'\" nz-menu-item (click)=\"changeView('maintable')\"><i style=\"font-size:17px\" class=\"view-icon\" nz-icon [nzIconfont]=\"'icon-biaoge'\"></i>表格视图</li>\r\n                  <!--<li [nzSelected]=\"defaultView.code == 'new-table'\" nz-menu-item (click)=\"changeView('new-table')\"><i style=\"font-size:17px\" class=\"view-icon\" nz-icon [nzIconfont]=\"'icon-biaoge'\"></i>表格视图(新)</li>-->\r\n                  <li *ngIf=\"taskParameters && taskParameters.calendar && taskParameters.calendar === 'calendar'\" [nzSelected]=\"defaultView.code == 'calendar'\" nz-menu-item (click)=\"changeView('calendar')\"><i style=\"font-size:16px\" class=\"view-icon\" nz-icon [nzIconfont]=\"'icon-calendar'\"></i>日历视图</li>\r\n                  <li *ngIf=\"taskParameters && taskParameters.calendar_new && taskParameters.calendar_new === 'calendar_new'\" [nzSelected]=\"defaultView.code == 'new-calendar'\" nz-menu-item (click)=\"changeView('new-calendar')\"><i style=\"font-size:16px\" class=\"view-icon\" nz-icon [nzIconfont]=\"'icon-calendar'\"></i>日历视图(新)</li>\r\n                  <li *ngIf=\"taskParameters && taskParameters.treetable && taskParameters.treetable === 'treetable'\" [nzSelected]=\"defaultView.code == 'tree-table'\" nz-menu-item (click)=\"changeView('tree-table')\"><i style=\"font-size:16px\" class=\"view-icon\" nz-icon [nzIconfont]=\"'icon-calendar'\"></i>日志视图</li>\r\n                </ul>\r\n              </nz-dropdown-menu>\r\n            </ng-template>\r\n          </div>\r\n        </div>\r\n        <div class=\"board-header-right\">\r\n          <span class=\"pull-left\" *ngIf=\"boardAttribute && boardAttribute.boardDateType === '1'\">\r\n            <div class=\"task-date-change\">\r\n              任务日期\r\n              <nz-date-picker style=\"width:120px\" nzAllowClear=\"false\" [nzSize]=\"'small'\" [(ngModel)]=\"taskChangeDate\" (ngModelChange)=\"onChange($event)\"></nz-date-picker>\r\n            </div>\r\n          </span>\r\n          <div class=\"board-query\">\r\n            <button nz-button\r\n                    nzType=\"default\"\r\n                    nz-popover\r\n                    nzPopoverTitle=\"高级查询\"\r\n                    nzPopoverTrigger=\"click\"\r\n                    [nzPopoverContent]=\"advancedQueryContentTemplate\"\r\n                    [nzSize]=\"'small'\">\r\n              <i nz-icon nzType=\"search\"></i> 高级查询\r\n            </button>\r\n            <ng-template #advancedQueryContentTemplate>\r\n              <div class=\"advanced-query-wrapper\">\r\n                <form nz-form [formGroup]=\"advancedQueryForm\" (ngSubmit)=\"submitAdvancedQueryForm()\">\r\n                  <nz-form-item>\r\n                    <nz-form-label [nzSpan]=\"6\">任务名称</nz-form-label>\r\n                    <nz-form-control [nzSpan]=\"18\">\r\n                      <input nz-input formControlName=\"nameFuzzy\" />\r\n                    </nz-form-control>\r\n                  </nz-form-item>\r\n                  <nz-form-item>\r\n                    <nz-form-label [nzSpan]=\"6\">日期区间</nz-form-label>\r\n                    <nz-form-control [nzSpan]=\"18\">\r\n                      <nz-date-picker style=\"width:120px\" formControlName=\"periodStartAt\" nzPlaceHolder=\"开始时间\"></nz-date-picker>\r\n                      <span style=\"margin:0 5px\">-</span>\r\n                      <nz-date-picker style=\"width:120px\" formControlName=\"periodEndAt\" nzPlaceHolder=\"结束时间\"></nz-date-picker>\r\n                    </nz-form-control>\r\n                  </nz-form-item>\r\n                  <nz-form-item>\r\n                    <nz-form-label [nzSpan]=\"6\">任务完成情况</nz-form-label>\r\n                    <nz-form-control [nzSpan]=\"18\">\r\n                      <nz-select formControlName=\"taskProgressValue\" nzPlaceHolder=\"请选择\" nzMode=\"multiple\" nzAllowClear>\r\n                        <nz-option *ngFor=\"let o of taskStatusList\" [nzValue]=\"o.index\" [nzLabel]=\"o.label\"></nz-option>\r\n                      </nz-select>\r\n                    </nz-form-control>\r\n                  </nz-form-item>\r\n                  <div style=\"text-align: right\">\r\n                    <button type=\"button\" style=\"margin-right:10px\" nz-button nzType=\"primary\" [nzLoading]=\"queryLoading\" (click)=\"submitAdvancedQueryForm()\">查询</button>\r\n                    <button type=\"button\" nz-button nzType=\"default\" (click)=\"cancelAdvancedQueryForm()\">取消</button>\r\n                  </div>\r\n                </form>\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n          <span class=\"pull-left\">\r\n            <ng-template\r\n              [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addGroup : ''\"\r\n              [ngxPermissionsOnlyElse]=\"elseBlock\">\r\n              <button\r\n                [nzSize]=\"'small'\"\r\n                nz-button\r\n                nz-popover\r\n                nzPopoverPlacement=\"bottom\"\r\n                nzPopoverTrigger=\"click\"\r\n                [(nzPopoverVisible)]=\"addNewGroupVisible\"\r\n                [nzPopoverContent]=\"addNewGroupTemplate\"\r\n                nzType=\"primary\"><i style=\"font-size:17px\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>新增</button>\r\n            </ng-template>\r\n            <ng-template #elseBlock>\r\n                <button [nzSize]=\"'small'\" nz-button disabled nzType=\"primary\"><i style=\"font-size:17px\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>分组</button>\r\n            </ng-template>\r\n          </span>\r\n          <!--<span class=\"pull-left\"><button (click)=\"handleIntegrationOpen()\" nz-button nzType=\"primary\" style=\"margin:0 0 0 10px;\"><i style=\"font-size:17px\" nz-icon [iconfont]=\"'icon-jicheng'\"></i>集成中心</button></span>-->\r\n          <span class=\"pull-left\">\r\n            <button style=\"margin:0 10px\" nz-button nz-dropdown [nzDropdownMenu]=\"menu\" [nzSize]=\"'small'\">\r\n              自动化集成\r\n              <i nz-icon nzType=\"down\"></i>\r\n            </button>\r\n            <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n            <ul nz-menu>\r\n              <ng-template\r\n                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.vewAutomation : ''\"\r\n                [ngxPermissionsOnlyElse]=\"elseBlockAuto\">\r\n                <li nz-menu-item>\r\n                  <a (click)=\"handleAutomationOpen()\"><i style=\"font-size:18px\" nz-icon nzType=\"reddit\" nzTheme=\"outline\"></i>自动化</a>\r\n                </li>\r\n                <li nz-menu-item>\r\n                  <a (click)=\"handleIntegrationOpen()\"><i style=\"font-size:18px\" nz-icon nzType=\"api\" nzTheme=\"outline\"></i>集成监听</a>\r\n                </li>\r\n              </ng-template>\r\n              <ng-template #elseBlockAuto>\r\n                <li nz-menu-item>\r\n                  <span><i style=\"font-size:18px\" nz-icon nzType=\"reddit\" nzTheme=\"outline\"></i>自动化</span>\r\n                </li>\r\n                <li nz-menu-item>\r\n                  <span><i style=\"font-size:18px\" nz-icon nzType=\"api\" nzTheme=\"outline\"></i>集成监听</span>\r\n                </li>\r\n              </ng-template>\r\n            </ul>\r\n          </nz-dropdown-menu>\r\n<!--            <ng-template-->\r\n<!--              [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.vewAutomation : ''\"-->\r\n<!--              [ngxPermissionsOnlyElse]=\"elseBlockAuto\">-->\r\n<!--              <button (click)=\"handleAutomationOpen()\" nz-button nzType=\"default\" style=\"margin:0 0 0 10px;\"><i style=\"font-size:18px\" nz-icon nzType=\"reddit\" nzTheme=\"outline\"></i>自动化</button>-->\r\n<!--              <button (click)=\"handleIntegrationOpen()\" nz-button nzType=\"default\" style=\"margin:0 10px;\"><i style=\"font-size:18px\" nz-icon nzType=\"api\" nzTheme=\"outline\"></i>集成监听</button>-->\r\n<!--            </ng-template>-->\r\n<!--            <ng-template #elseBlockAuto>-->\r\n<!--               <button disabled nz-button nzType=\"primary\" style=\"margin:0 10px;\"><i style=\"font-size:18px\" nz-icon nzType=\"reddit\" nzTheme=\"outline\"></i>自动化</button>-->\r\n<!--              <button disabled nz-button nzType=\"primary\" style=\"margin:0 10px;\"><i style=\"font-size:18px\" nz-icon nzType=\"api\" nzTheme=\"outline\"></i>集成监听</button>-->\r\n<!--            </ng-template>-->\r\n          </span>\r\n          <span class=\"pull-left\">\r\n            <nz-button-group style=\"display: flex\" nz-tooltip nzTooltipTitle=\"面板成员\" nzTooltipPlacement=\"bottom\">\r\n              <ng-template\r\n                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addSubscriber : ''\"\r\n                [ngxPermissionsOnlyElse]=\"elseBlockSub\">\r\n                  <button [nzSize]=\"'small'\" (click)=\"openSelectMember()\" nz-button nzType=\"primary\" nzGhost style=\"display: flex;font-size:16px;\">\r\n                <i style=\"margin-top:3px\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i><ng-container> / <em>{{subscribersCounter}}</em></ng-container>\r\n              </button>\r\n            </ng-template>\r\n            <ng-template #elseBlockSub>\r\n               <button [nzSize]=\"'small'\" disabled nz-button nzType=\"primary\" nzGhost style=\"display: flex;font-size:16px;\">\r\n                <i style=\"margin-top:3px\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i><ng-container> / <em>{{subscribersCounter}}</em></ng-container>\r\n              </button>\r\n            </ng-template>\r\n              <!--<button nz-button nzType=\"primary\" nzGhost>日志</button>-->\r\n            </nz-button-group>\r\n          </span>\r\n          <span class=\"pull-left\">\r\n            <button [nzSize]=\"'small'\" style=\"margin-left:10px\" nz-button nzType=\"default\" (click)=\"refreshBoard()\"><i nz-icon nzType=\"redo\" nzTheme=\"outline\"></i> 刷新</button>\r\n          </span>\r\n          <span class=\"task-menu\"\r\n                nz-popover\r\n                nzPopoverPlacement=\"bottomRight\"\r\n                nzPopoverTrigger=\"click\"\r\n                [(nzPopoverVisible)]=\"boardMenuVisible\"\r\n                [nzPopoverContent]=\"boardMenuTemplate\"\r\n          ><i nz-icon [nzIconfont]=\"'icon-caidan-dian'\"></i>\r\n          </span>\r\n          <ng-template #addNewGroupTemplate>\r\n            <div class=\"add-new-group__list\">\r\n              <ul>\r\n                <li (click)=\"addNewGroup(defaultView.code)\"><i nz-icon [nzIconfont]=\"'icon-zengjia'\"></i> 添加分组</li>\r\n                <li (click)=\"showImportDataModal()\"><i nz-icon nzType=\"upload\" nzTheme=\"outline\"></i> 导入任务</li>\r\n              </ul>\r\n            </div>\r\n          </ng-template>\r\n          <ng-template #boardMenuTemplate>\r\n            <div class=\"add-new-group__list\">\r\n              <ul>\r\n                <ng-template\r\n                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addGroup : ''\"\r\n                  [ngxPermissionsOnlyElse]=\"elseBlocka\">\r\n                  <li (click)=\"addNewGroup(defaultView.code)\"><i nz-icon [nzIconfont]=\"'icon-zengjia'\"></i> 添加分组</li>\r\n                </ng-template>\r\n                <ng-template #elseBlocka>\r\n                  <li class=\"add-new-group__disabled\"><i nz-icon [nzIconfont]=\"'icon-zengjia'\"></i> 添加分组</li>\r\n                </ng-template>\r\n                <ng-template\r\n                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setPermission : ''\"\r\n                  [ngxPermissionsOnlyElse]=\"elseBlockb\">\r\n                  <li (click)=\"setBoardPermissions()\"><i style=\"font-size: 20px;margin-left: -4px;\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 面板权限</li>\r\n                </ng-template>\r\n                <ng-template #elseBlockb>\r\n                  <li class=\"add-new-group__disabled\"><i style=\"font-size: 20px;margin-left: -4px;\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 面板权限</li>\r\n                </ng-template>\r\n                <ng-template\r\n                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.viewArchives : ''\"\r\n                  [ngxPermissionsOnlyElse]=\"elseBlockc\">\r\n                  <li (click)=\"changeLinkStatus()\"><i style=\"font-size:15px;\" nz-icon [nzIconfont]=\"'icon-yun'\"></i> 查看归档</li>\r\n                </ng-template>\r\n                <ng-template #elseBlockc>\r\n                  <li class=\"add-new-group__disabled\"><i style=\"font-size:15px;\" nz-icon [nzIconfont]=\"'icon-yun'\"></i> 查看归档</li>\r\n                </ng-template>\r\n                <ng-template\r\n                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archiveBoard : ''\"\r\n                  [ngxPermissionsOnlyElse]=\"elseBlockd\">\r\n                  <li (click)=\"archiveBoard()\"><i style=\"font-size:15px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档面板</li>\r\n                </ng-template>\r\n                <ng-template #elseBlockd>\r\n                  <li class=\"add-new-group__disabled\"><i style=\"font-size:15px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档面板</li>\r\n                </ng-template>\r\n                <ng-template\r\n                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.titleLock : ''\"\r\n                  [ngxPermissionsOnlyElse]=\"elseBlockE\">\r\n                  <li *ngIf=\"boardData.titleLock != 'true'\" (click)=\"lockGroupTitle('true')\">\r\n                    <i style=\"font-size:15px;\" nz-icon nzType=\"lock\"></i> 锁定表头\r\n                  </li>\r\n                  <li *ngIf=\"boardData.titleLock == 'true'\" (click)=\"lockGroupTitle('false')\">\r\n                    <i style=\"font-size:15px;\" nz-icon nzType=\"unlock\"></i> 取消表头锁定\r\n                  </li>\r\n                </ng-template>\r\n                <ng-template #elseBlockE>\r\n                  <li *ngIf=\"boardData.titleLock != 'true'\" class=\"add-new-group__disabled\"><i style=\"font-size:15px;\" nz-icon nzType=\"lock\"></i> 锁定表头</li>\r\n                  <li *ngIf=\"boardData.titleLock == 'true'\" class=\"add-new-group__disabled\"><i style=\"font-size:15px;\" nz-icon nzType=\"unlock\"></i> 取消表头锁定</li>\r\n                </ng-template>\r\n                <ng-container [ngTemplateOutlet]=\"sortTemplate\"></ng-container>\r\n                <ng-template #sortTemplate>\r\n                  <li *ngIf=\"!boardData.sort\" (click)=\"sortBoard(boardData)\">\r\n                    <i style=\"font-size:15px;\"  nz-icon nzType=\"menu\" nzTheme=\"outline\"></i>按创建时间升序\r\n                  </li>\r\n                  <li *ngIf=\"boardData.sort == 'asc'\" (click)=\"sortBoard(boardData)\">\r\n                    <i style=\"font-size:15px;\"  nz-icon nzType=\"sort-ascending\" nzTheme=\"outline\"></i>\r\n                    按创建时间降序\r\n                  </li>\r\n                  <li  *ngIf=\"boardData.sort == 'desc'\" (click)=\"sortBoard(boardData)\">\r\n                    <i style=\"font-size:15px;\"  nz-icon nzType=\"sort-descending\" nzTheme=\"outline\"></i>\r\n                    按默认排序方式\r\n                  </li>\r\n                </ng-template>\r\n                <li nz-popover [nzPopoverContent]=\"exportTemplate\" nzPopoverPlacement=\"leftTop\">\r\n                  <i nz-icon nzType=\"export\" nzTheme=\"outline\" style=\"font-size: 15px;\"></i>导出面板到Excel\r\n                </li>\r\n                <ng-template #exportTemplate>\r\n                  <div class=\"add-new-group__list\">\r\n                    <ul>\r\n                      <li (click)=\"exportBoardToExcel(false)\">导出表格</li>\r\n                      <li (click)=\"exportExcelWithInfoBox()\">导出表格&资料箱和附件</li>\r\n                    </ul>\r\n                  </div>\r\n                </ng-template>\r\n              </ul>\r\n            </div>\r\n          </ng-template>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <!-- 头部end -->\r\n  <div id=\"first-level-content\" class=\"first-level-content\">\r\n    <div class=\"board-wrapper\" style=\"height: 100%; overflow-x: auto;\">\r\n      <!-- 面板表格视图组件 -->\r\n      <ng-container *ngIf=\"defaultView.code == 'maintable'\">\r\n        <nz-spin [nzSpinning]=\"isSpinning\" nzTip=\"数据加载中...\">\r\n        <task-table #taskTable (nfUpdateTable)=\"updateTable($event)\" [taskSystemParameter]=\"taskParameters\" [nfData]=\"this.boardData\"></task-table>\r\n        </nz-spin>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"defaultView.code == 'new-table'\">\r\n        <nz-spin [nzSpinning]=\"isSpinning\" nzTip=\"数据加载中...\">\r\n          <task-new-table #newTaskTable (nfUpdateTable)=\"updateTable($event)\" [nfData]=\"this.boardData\"></task-new-table>\r\n        </nz-spin>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"defaultView.code == 'calendar'\">\r\n        <nz-spin [nzSpinning]=\"isSpinning\" nzTip=\"数据加载中...\">\r\n        <task-calendar #taskCalendar [nfData]=\"this.boardData\"></task-calendar>\r\n        </nz-spin>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"defaultView.code == 'new-calendar'\">\r\n        <nz-spin [nzSpinning]=\"isSpinning\" nzTip=\"数据加载中...\">\r\n        <task-new-calendar #newTaskCalendar [nfData]=\"boardData\"></task-new-calendar>\r\n        </nz-spin>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"defaultView.code == 'tree-table'\">\r\n        <nz-spin [nzSpinning]=\"isSpinning\" nzTip=\"数据加载中...\">\r\n<!--          <task-tree-table #treeTable [nfData]=\"boardData\" [taskSystemParameter]=\"taskParameters\" (nfUpdateTable)=\"updateTable($event)\"></task-tree-table>-->\r\n          <task-log-grid #treeTable [nfData]=\"boardData\" [taskSystemParameter]=\"taskParameters\" (nfUpdateTable)=\"updateTable($event)\"></task-log-grid>\r\n        </nz-spin>\r\n      </ng-container>\r\n      <!-- 集成中心 -->\r\n      <nz-modal [(nzVisible)]=\"isIntegrationVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal custom-modal'\" [nzWidth]=\"'70%'\" [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"null\" (nzOnCancel)=\"handleIntegrationCancel()\">\r\n        <div class=\"dialog-wrapper\">\r\n          <nf-automation *ngIf=\"isIntegrationVisible\" [nfType]=\"'integrations'\" [nfBoardData]=\"boardData\"></nf-automation>\r\n        </div>\r\n      </nz-modal>\r\n      <!-- 自动化 -->\r\n      <nz-modal [(nzVisible)]=\"isAutomationVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal custom-modal'\" [nzWidth]=\"'70%'\" [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"null\" (nzOnCancel)=\"handleAutomationCancel()\">\r\n        <div class=\"dialog-wrapper\">\r\n          <nf-automation *ngIf=\"isAutomationVisible\" [nfType]=\"'automations'\" [nfBoardData]=\"boardData\"></nf-automation>\r\n        </div>\r\n      </nz-modal>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfData]=\"boardData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n<!-- 面板权限 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isPermissionVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handlePermissionCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzWidth]=\"'60%'\"\r\n  nzTitle=\"面板权限\"\r\n  [nzFooter]=\"permissionModalFooter\">\r\n  <div class=\"permissions-center-component\">\r\n    <span class=\"permissions-center-subheader\">选择成员面板权限:</span>\r\n    <nz-tabset [nzTabPosition]=\"'top'\" (nzSelectedIndexChange)=\"getTabSelectIndex($event)\" [(nzSelectedIndex)]=\"selectIndex\" [nzType]=\"'card'\">\r\n      <nz-tab [nzTitle]=\"'查看权限'\">\r\n        <div class=\"permissions-center-content\">\r\n          <div class=\"permissions-center-options-wrapper\">\r\n            <div class=\"permissions-center-options-component\">\r\n              <div class=\"permissions-center-option-item-component\">\r\n                <nz-radio-group [(ngModel)]=\"selectedPermissionValue\" (ngModelChange)=\"selectedPermissionChange($event)\" style=\"width:100%\">\r\n                  <label nz-radio nzValue=\"view_by_assignee\">指定的 <span class=\"permission-owner\" nz-popover [(nzPopoverVisible)]=\"selectedPermissionVisible\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"permissionTemplate\" nzPopoverPlacement=\"bottom\">人员列</span> 中的成员可以查看行数据</label>\r\n                  <label nz-radio nzValue=\"view_all\">查看全部</label>\r\n                </nz-radio-group>\r\n                <ng-template #permissionTemplate>\r\n                  <div class=\"condition-container\">\r\n                    <div class=\"field-title\">选择人员列</div>\r\n                    <nz-select style=\"width: 100%;\" nzMode=\"multiple\" [(ngModel)]=\"selectedPermissionDropdownValue\" (ngModelChange)=\"permissionDropdownChange($event)\" nzAllowClear nzPlaceHolder=\"请选择\">\r\n                      <ng-container *ngFor=\"let item of boardColumnData\">\r\n                        <nz-option *ngIf=\"item.type === 'multiple-person'\" nzValue=\"{{item.id}}\" nzLabel=\"{{item.title}}\"></nz-option>\r\n                      </ng-container>\r\n                    </nz-select>\r\n                  </div>\r\n                </ng-template>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"permissions-center-option-details-wrapper\">\r\n            <div class=\"permissions-center-option-details-component\">\r\n              <div class=\"details-container\">\r\n                <div class=\"details-image-wrapper\">\r\n                  <img class=\"details-image\" src=\"data:image/png;base64,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\">\r\n                  <span class=\"details-description\">{{permissionDescription}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </nz-tab>\r\n      <nz-tab [nzTitle]=\"'编辑权限'\">\r\n        <div class=\"permissions-center-content\">\r\n          <div class=\"permissions-center-options-wrapper\">\r\n            <div class=\"permissions-center-options-component\">\r\n              <div class=\"permissions-center-option-item-component\">\r\n                <nz-radio-group [(ngModel)]=\"selectedPermissionValue\" (ngModelChange)=\"selectedPermissionChange($event)\" style=\"width:100%\">\r\n                  <label nz-radio nzValue=\"edit_by_assignee\">指定的 <span class=\"permission-owner\" nz-popover [(nzPopoverVisible)]=\"selectedPermissionEditVisible\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"permissionEditTemplate\" nzPopoverPlacement=\"bottom\">人员列</span> 中的成员可以编辑行数据</label>\r\n                  <label nz-radio nzValue=\"edit_everything\">编辑所有</label>\r\n                  <label nz-radio nzValue=\"edit_content\">编辑内容</label>\r\n                  <label nz-radio nzValue=\"view_only\">只读</label>\r\n                </nz-radio-group>\r\n                <ng-template #permissionEditTemplate>\r\n                  <div class=\"condition-container\">\r\n                    <div class=\"field-title\">选择人员列</div>\r\n                    <nz-select style=\"width: 100%;\" nzMode=\"multiple\" [(ngModel)]=\"selectedPermissionDropdownValue\" (ngModelChange)=\"permissionDropdownChange($event)\" nzAllowClear nzPlaceHolder=\"请选择\">\r\n                      <ng-container *ngFor=\"let item of boardColumnData\">\r\n                        <nz-option *ngIf=\"item.type === 'multiple-person' || item.type === 'creator'\" nzValue=\"{{item.id}}\" nzLabel=\"{{item.title}}\"></nz-option>\r\n                      </ng-container>\r\n                    </nz-select>\r\n                  </div>\r\n                </ng-template>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"permissions-center-option-details-wrapper\">\r\n            <div class=\"permissions-center-option-details-component\">\r\n              <div class=\"details-container\">\r\n                <div class=\"details-image-wrapper\">\r\n                  <img class=\"details-image\" src=\"data:image/png;base64,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\">\r\n                  <span class=\"details-description\">{{permissionDescription}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </nz-tab>\r\n    </nz-tabset>\r\n    <ng-template #permissionModalFooter>\r\n      <button nz-button nzType=\"default\" (click)=\"handlePermissionCancel()\">取消</button>\r\n      <button nz-button nzType=\"primary\" (click)=\"handlePermissionOk()\" [nzLoading]=\"isPermissionConfirmLoading\">确定</button>\r\n    </ng-template>\r\n  </div>\r\n</nz-modal>\r\n\r\n<nz-modal nzWrapClassName=\"custom-modal\" [(nzVisible)]=\"importModalVisible\" [nzWidth]=\"600\" nzOkText=\"确定\" nzCancelText=\"取消\" [nzFooter]=\"null\" (nzOnCancel)=\"importModalVisible=false;\">\r\n  <ng-container *ngIf=\"excelImportStep == 0\">\r\n    <div class=\"upload-file-component\">\r\n      <div class=\"xls-upload-title\">\r\n        从 <b>Excel/CSV</b> 导入数据\r\n      </div>\r\n      <div class=\"xls-upload-dropzone-outer\" (click)=\"handleFileUpload()\">\r\n        <div class=\"xls-upload-inner-dropzone\">\r\n          <img src=\"assets/images/cloud-upload.png\" alt=\"\">\r\n          <div class=\"xls-upload-upload-text\">\r\n            <span class=\"xls-upload-click-to-browse\">点击上传</span>\r\n          </div>\r\n        </div>\r\n        <input id=\"excel-upload-input\" accept=\".xlsx,.xls,.csv\" type=\"file\" style=\"display: none;\">\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"excelImportStep == 1\">\r\n    <div class=\"map-columns-component\">\r\n      <div class=\"map-columns-title\">\r\n        <div class=\"map-columns-title-component\">\r\n          <div class=\"map-columns-title-container\">\r\n            <h4>将导入的数据映射到面板中</h4>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"map-columns-content-container\">\r\n        <div class=\"map-columns-item-picker-wrapper\">\r\n          <div class=\"map-columns-item-picker\">\r\n            <div class=\"map-columns-item-picker-title\">\r\n              <i style=\"font-size: 19px;\" nz-icon [nzIconfont]=\"'icon-fenlan'\"></i>\r\n              <span>选择一列作为面板的第一列</span>\r\n            </div>\r\n            <div class=\"map-columns-select-wrapper\">\r\n              <div class=\"Select is-searchable Select--single\">\r\n                <div class=\"Select-control\">\r\n                  <div class=\"Select-multi-value-wrapper\">\r\n                    <nz-select style=\"width: 250px;\" [(ngModel)]=\"excelTaskColumn\" (ngModelChange)=\"excelTaskColumnChange()\" nzPlaceHolder=\"列名\">\r\n                      <nz-option *ngFor=\"let item of excelTitleData; let i = index\"\r\n                                 [nzValue]=\"i\" [nzLabel]=\"excelCheckbox?item:('column'+(i+1))\"></nz-option>\r\n                    </nz-select>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"map-columns-title-checker-wrapper\">\r\n                <div class=\"checkbox-component map-columns-title-checker\">\r\n                  <label nz-checkbox [(ngModel)]=\"excelCheckbox\">包含列标题</label>\r\n                  <i nz-icon nzType=\"info-circle\" nz-tooltip=\"勾选后列标题将不会作为数据导入到面板中\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"map-columns-separator\"></div>\r\n        <div class=\"map-columns-mapper-component\">\r\n          <div class=\"map-columns-mapper-header\">\r\n            <img src=\"assets/images/import_excel_map_columns.png\" alt=\"\">\r\n            <span class=\"map-columns-mapper-header-title\">将文件中的列映射到面板中的列:</span>\r\n          </div>\r\n          <div class=\"map-columns-mapper-titles\">\r\n            <span class=\"map-columns-mapper-title\">文件</span>\r\n            <span class=\"map-columns-mapper-title\"></span>\r\n            <span class=\"map-columns-mapper-title\">{{boardData?boardData.name:''}}</span>\r\n          </div>\r\n          <div class=\"map-columns-mapper-content\">\r\n            <ng-container *ngFor=\"let item of excelColumnMapping; let i = index;\">\r\n              <div *ngIf=\"i != excelTaskColumn\" class=\"map-columns-column-row\">\r\n                <div class=\"map-columns-column-item file-column\">\r\n                  <div><nz-switch [(ngModel)]=\"item.activated\"></nz-switch></div>\r\n                  <span class=\"map-columns-column-row-name\">{{excelCheckbox?item.title:('column'+(i+1))}}</span>\r\n                </div>\r\n                <i class=\"icon-big-left-arrow\" nz-icon nzType=\"arrow-right\"></i>\r\n                <div class=\"map-columns-column-item\">\r\n                  <nz-select [(ngModel)]=\"item.column\" (ngModelChange)=\"mappingColumnChange(item, i)\" style=\"width: 100%;\">\r\n                    <nz-option *ngFor=\"let column of excelColumnData\" [nzDisabled]=\"!excelSupportColumns.includes(column.type)\" [nzValue]=\"column\" [nzLabel]=\"column.title\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"map-columns-button-section\">\r\n        <button nz-button (click)=\"excelImportStep=0\">返回</button>\r\n        <button nz-button style=\"margin-left: 10px;\" nzType=\"primary\"\r\n                [disabled]=\"importButtonDisabled\" (click)=\"importDataToNewGroup()\" [nzLoading]=\"importDataLoading\">导入</button>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</nz-modal>\r\n","styles":[".application .application-layers .first-level .first-level-content-wrapper .first-level-content{flex-grow:1;height:100%;overflow:auto;position:relative}.first-level-content-wrapper{background:#fff;display:flex;flex-direction:column;flex-grow:1;height:100%;min-width:0;opacity:1;position:relative;visibility:visible;width:100%}.first-level-content-wrapper .first-level-content{flex-grow:1;height:100%;overflow:auto;position:relative}.first-level-content-wrapper .first-level-content::-webkit-scrollbar{height:15px;width:10px}.first-level-content-wrapper .first-level-content::-webkit-scrollbar-thumb{background-color:#b2b2b2;border-radius:50px}.first-level-content-wrapper .first-level-content::-webkit-scrollbar-track{border-radius:10px}.board-header{transform:translateZ(0);width:100%;will-change:transform;z-index:2}.board-header .board-header-content-wrapper{background:#fff;padding:10px}.board-header .board-header-content-wrapper .board-header-main{display:flex}.board-header .board-header-content-wrapper .board-header-main .board-header-left{flex:1 0;margin-right:8px;min-width:100px}.board-header .board-header-content-wrapper .board-header-main .board-header-right{flex:0 0 auto}.add-new-group__list li{cursor:pointer;min-width:100px;padding:7px}.add-new-group__list li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-new-group__list li.add-new-group__disabled,.add-new-group__list li.add-new-group__disabled:hover{background:transparent;color:#ccc}.add-new-group__list li.add-new-group__disabled,.add-new-group__list li.add-new-group__disabled i,.add-new-group__list li.add-new-group__disabled i:hover{color:#ccc!important;cursor:default}.add-new-group__list li i{color:rgba(0,0,0,.5);margin-right:5px}.add-new-group__list li:hover i{color:#fff}.task-menu{color:rgba(0,0,0,.7);cursor:pointer;display:inline-block;font-size:20px;height:25px;line-height:25px;margin-left:10px;margin-right:10px;text-align:center;width:25px}.task-menu:hover{background:#efefef;border-radius:100px;color:#2196f3}.board-query{float:left;margin-right:10px}.board-filter{border-radius:3px;cursor:pointer;font-size:20px;height:28px;line-height:28px;margin-left:5px}.board-filter,.board-views{float:left;min-width:30px;padding:0 3px;text-align:center}.board-views{margin-left:0;margin-top:0}.board-views a{color:#333}.view-icon{font-size:20px;vertical-align:middle}.filter-item-title{display:inline;font-size:19px}.filter-item-count{display:inline;font-size:15px;vertical-align:text-bottom}::ng-deep .board-filter .ant-btn{padding:0 8px}::ng-deep .ant-input-affix-wrapper .ant-input-suffix{right:0}.permissions-center-component{display:flex;flex-direction:column;height:100%;padding-bottom:50px;position:relative}.permissions-center-component .permissions-center-subheader{font-size:18px;font-weight:500;padding-bottom:8px;padding-top:24px}.permissions-center-component .permissions-center-content{display:flex;flex:1 1 auto;flex-direction:row;height:100%;overflow:auto}.permissions-center-component .permissions-center-content .permissions-center-options-wrapper{flex:1 1 auto}.permissions-center-component .permissions-center-content .permissions-center-option-details-wrapper{flex:0 0 auto;margin-left:16px}.permissions-center-component .faded-on-dialog{transition:opacity .4s}.permissions-center-option-details-component{height:100%;min-height:320px;padding:0 8px}.permissions-center-option-details-component .details-container{background:#e5f4ff;border-radius:4px;display:flex;flex-direction:column;height:100%;padding-top:16px;width:350px}.permissions-center-option-details-component .details-container .details-image-wrapper{height:172px}.permissions-center-option-details-component .details-container .details-description,.permissions-center-option-details-component .details-container .details-image-wrapper{padding-left:38px}.permissions-center-option-details-component .details-container .details-description{font-size:16px;font-weight:400;letter-spacing:-.02em;margin-left:10px;padding-top:8px;white-space:pre-line}.permissions-center-options-component [nz-radio]{background:#fff;border:1px solid #efefef;border-radius:4px;color:#000;display:block;font-size:16px;margin:0 0 15px;padding:20px 10px}.permissions-center-options-component [nz-radio]:hover{border:1px solid #d3d3d3}.permissions-center-options-component [nz-radio].selected{border-color:#009aff}.permission-owner{font-weight:700}.permission-owner:hover{border-bottom:1px solid #000}.condition-container{min-height:50px;min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.permissions-center-options-component{display:flex;flex-direction:column;height:100%;width:100%}.add-batch-pulses-modal-wrapper{font-size:32px;font-weight:400;margin-bottom:8px;text-align:center}.dialog-content{align-items:center;display:flex;flex-direction:column;margin-bottom:16px}.dialog-content-text{font-size:16px;font-weight:300;margin-bottom:16px}.gif-wrapper{height:130px;margin-bottom:16px}.pulses-list-wrapper{display:flex;flex-direction:column;width:90%}.pulses-list-wrapper label{color:grey;font-size:12px;height:12px;text-align:left}.dialog-footer-button{align-items:center;display:flex;justify-content:space-around}::ng-deep .custom-modal .ant-modal-close{color:#000!important}.upload-file-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;align-items:center;display:flex;flex-direction:column;height:100%;margin:40px 0 50px;user-select:none;width:100%;z-index:99999}.upload-file-component .xls-upload-title{font-size:30px;margin-bottom:10px}.upload-file-component .xls-upload-dropzone-outer{-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-webkit-user-select:none;align-items:center;background:#f7f7f7;border:1px dashed #c4c4c4;border-radius:4px;cursor:pointer;display:flex;height:180px;justify-content:center;margin-bottom:50px;margin-top:20px;text-align:center;transition:all .3s ease-in;user-select:none;width:350px}.map-columns-component{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%}.map-columns-component .map-columns-title{display:block;font-size:30px;padding:16px;position:relative;width:100%}.map-columns-component .map-columns-content-container{-ms-grid-row-align:center;align-self:center;flex-grow:1;padding:16px 32px 32px;width:100%}.map-columns-component .map-columns-button-section{align-items:center;border-color:currentcolor #e6e9ef #e6e9ef;border-top:1px solid #e6e9ef;flex-direction:row;flex-grow:0;padding:16px 0 4px;position:relative;text-align:right;width:100%}.map-columns-title-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;display:flex;flex-direction:row;user-select:none}.map-columns-title-component .map-columns-title-container{align-items:flex-start;display:flex;flex-direction:column;justify-content:flex-start;margin-left:16px;margin-top:16px}.map-columns-component .map-columns-content-container .map-columns-item-picker-wrapper{width:100%}.map-columns-component .map-columns-content-container .map-columns-item-picker-wrapper .map-columns-item-picker{display:flex;flex-direction:column;margin-bottom:12px;width:100%}.map-columns-component .map-columns-content-container .map-columns-item-picker-wrapper .map-columns-item-picker .map-columns-item-picker-title{align-items:flex-start;display:flex;height:16px;margin-bottom:24px}.map-columns-component .map-columns-content-container .map-columns-item-picker-wrapper .map-columns-item-picker .map-columns-item-picker-title span{color:#323338;font-size:16px;font-weight:500;margin-left:8px;margin-top:-4px}.map-columns-component .map-columns-content-container .map-columns-item-picker-wrapper .map-columns-item-picker .map-columns-select-wrapper .map-columns-title-checker-wrapper{align-items:center;display:flex}.map-columns-component .map-columns-content-container .map-columns-item-picker-wrapper .map-columns-item-picker .map-columns-select-wrapper .map-columns-title-checker-wrapper .map-columns-title-checker{margin-top:8px;width:100%}.checkbox-component{align-items:center;cursor:pointer;display:flex;min-width:16px}.map-columns-component .map-columns-content-container .map-columns-separator{background:#e6e9ef;height:1px;margin:24px auto;width:100%}.map-columns-mapper-component{width:100%}.map-columns-mapper-component .map-columns-mapper-header{align-self:flex-start;display:flex;height:16px;margin-bottom:24px}.map-columns-mapper-component .map-columns-mapper-titles{display:flex;margin-top:16px;width:100%}.map-columns-mapper-component .map-columns-mapper-titles .map-columns-mapper-title{color:#323338;flex:1;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-columns-mapper-component .map-columns-mapper-content{height:180px;overflow:auto;padding-right:4px;padding-top:0;width:100%}.map-columns-mapper-component .map-columns-mapper-header .map-columns-mapper-header-title{color:#323338;font-size:16px;font-weight:500;margin-left:8px;margin-top:-4px}.map-columns-mapper-component .map-columns-mapper-content .map-columns-column-row{align-items:center;color:#323338;display:flex;padding:8px 0}.map-columns-mapper-component .map-columns-mapper-content .map-columns-column-row .file-column{flex:1.25}.map-columns-mapper-component .map-columns-mapper-content .map-columns-column-row .map-columns-column-item{display:flex;flex:1}.map-columns-mapper-component .map-columns-mapper-content .map-columns-column-row .icon-big-left-arrow{color:rgba(103,104,121,.75);flex:1}.map-columns-mapper-component .map-columns-mapper-content .map-columns-column-row .map-columns-column-item .map-columns-column-row-name{padding-left:8px}.loader{height:2.5em;left:calc(50% - 1.25em);position:absolute;position:relative;top:calc(50% - 1.25em);transform:rotate(165deg);width:2.5em}.loader:after,.loader:before{border-radius:.25em;content:\"\";display:block;height:.5em;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:.5em}.loader:before{-webkit-animation:before 2s infinite;animation:before 2s infinite}.loader:after{-webkit-animation:after 2s infinite;animation:after 2s infinite}@-webkit-keyframes before{0%{box-shadow:1em -.5em rgba(225,20,98,.75),-1em .5em rgba(111,202,220,.75);width:.5em}35%{box-shadow:0 -.5em rgba(225,20,98,.75),0 .5em rgba(111,202,220,.75);width:2.5em}70%{box-shadow:-1em -.5em rgba(225,20,98,.75),1em .5em rgba(111,202,220,.75);width:.5em}to{box-shadow:1em -.5em rgba(225,20,98,.75),-1em .5em rgba(111,202,220,.75)}}@keyframes before{0%{box-shadow:1em -.5em rgba(225,20,98,.75),-1em .5em rgba(111,202,220,.75);width:.5em}35%{box-shadow:0 -.5em rgba(225,20,98,.75),0 .5em rgba(111,202,220,.75);width:2.5em}70%{box-shadow:-1em -.5em rgba(225,20,98,.75),1em .5em rgba(111,202,220,.75);width:.5em}to{box-shadow:1em -.5em rgba(225,20,98,.75),-1em .5em rgba(111,202,220,.75)}}@-webkit-keyframes after{0%{box-shadow:.5em 1em rgba(61,184,143,.75),-.5em -1em rgba(233,169,32,.75);height:.5em}35%{box-shadow:.5em 0 rgba(61,184,143,.75),-.5em 0 rgba(233,169,32,.75);height:2.5em}70%{box-shadow:.5em -1em rgba(61,184,143,.75),-.5em 1em rgba(233,169,32,.75);height:.5em}to{box-shadow:.5em 1em rgba(61,184,143,.75),-.5em -1em rgba(233,169,32,.75)}}@keyframes after{0%{box-shadow:.5em 1em rgba(61,184,143,.75),-.5em -1em rgba(233,169,32,.75);height:.5em}35%{box-shadow:.5em 0 rgba(61,184,143,.75),-.5em 0 rgba(233,169,32,.75);height:2.5em}70%{box-shadow:.5em -1em rgba(61,184,143,.75),-.5em 1em rgba(233,169,32,.75);height:.5em}to{box-shadow:.5em 1em rgba(61,184,143,.75),-.5em -1em rgba(233,169,32,.75)}}.task-date-change{margin-right:0;width:190px}.advanced-query-wrapper{width:350px}"]}]}],"members":{"taskTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["taskTable"]}]}],"newTaskTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":34,"character":3},"arguments":["newTaskTable"]}]}],"taskCalendar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":35,"character":3},"arguments":["taskCalendar"]}]}],"newTaskCalendar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":36,"character":3},"arguments":["newTaskCalendar"]}]}],"treeTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":3},"arguments":["treeTable"]}]}],"linkChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"refreshList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"AttrChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3},"arguments":["boardAttribute"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":222,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":223,"character":21},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":225,"character":19},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":226,"character":22},{"__symbolic":"reference","module":"@stomp/ng2-stompjs","name":"RxStompService","line":227,"character":28},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":228,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getBoardList":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"searchDate":[{"__symbolic":"method"}],"handleResponseData":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"changeView":[{"__symbolic":"method"}],"setViews":[{"__symbolic":"method"}],"handleIntegrationOpen":[{"__symbolic":"method"}],"handleIntegrationCancel":[{"__symbolic":"method"}],"handleAutomationOpen":[{"__symbolic":"method"}],"handleAutomationCancel":[{"__symbolic":"method"}],"changeLinkStatus":[{"__symbolic":"method"}],"archiveBoard":[{"__symbolic":"method"}],"lockGroupTitle":[{"__symbolic":"method"}],"clearLocalStorage":[{"__symbolic":"method"}],"updateTable":[{"__symbolic":"method"}],"openSelectMember":[{"__symbolic":"method"}],"handleMemberOk":[{"__symbolic":"method"}],"handleMemberCancel":[{"__symbolic":"method"}],"setBoardPermissions":[{"__symbolic":"method"}],"handlePermissionCancel":[{"__symbolic":"method"}],"handlePermissionOk":[{"__symbolic":"method"}],"getBoardPermissionData":[{"__symbolic":"method"}],"selectedPermissionChange":[{"__symbolic":"method"}],"permissionDropdownChange":[{"__symbolic":"method"}],"getTabSelectIndex":[{"__symbolic":"method"}],"exportBoardToExcel":[{"__symbolic":"method"}],"exportExcelWithInfoBox":[{"__symbolic":"method"}],"getFileName":[{"__symbolic":"method"}],"showImportDataModal":[{"__symbolic":"method"}],"handleFileUpload":[{"__symbolic":"method"}],"excelTaskColumnChange":[{"__symbolic":"method"}],"mappingColumnChange":[{"__symbolic":"method"}],"importDataToNewGroup":[{"__symbolic":"method"}],"refreshBoard":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}],"onDateRangeChange":[{"__symbolic":"method"}],"handleWsMsg":[{"__symbolic":"method"}],"getSysParamsData":[{"__symbolic":"method"}],"sortBoard":[{"__symbolic":"method"}],"submitAdvancedQueryForm":[{"__symbolic":"method"}],"cancelAdvancedQueryForm":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"getRandomColor":[{"__symbolic":"method"}],"formatDateByGeneral":[{"__symbolic":"method"}],"formatTimeByGeneral":[{"__symbolic":"method"}],"formatHoursByGeneral":[{"__symbolic":"method"}],"formatTimeToSec":[{"__symbolic":"method"}],"handleArrayWrap":[{"__symbolic":"method"}],"accMul":[{"__symbolic":"method"}],"timeFormat":[{"__symbolic":"method"}],"add0":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"nf-conversation","providers":[{"__symbolic":"reference","name":"TaskService"}],"template":"<div class=\"conversation-container\">\r\n  <div class=\"flexible-header\">\r\n    <div class=\"pulse_title\">\r\n      <h1 class=\"editable-click\">\r\n        <div class=\"multiline-ellipsis-component\">{{pulseTitle}}</div>\r\n      </h1>\r\n    </div>\r\n  </div>\r\n  <div class=\"conversation-content-wrapper\">\r\n    <nz-tabset [(nzSelectedIndex)]=\"tabIndex\" (nzSelectedIndexChange)=\"tabIndexChange($event)\">\r\n      <nz-tab nzTitle=\"更新\">\r\n        <div class=\"conversation-scroll-content\" [style.height.px]=\"panelHeight\">\r\n          <div class=\"conversation-content\">\r\n            <!-- 对话输入框 begin -->\r\n            <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPost : ''\">\r\n              <div class=\"new_post_wrapper\">\r\n                <div (click)=\"changeEditState()\" class=\"new_post\" *ngIf=\"!isEditState\">\r\n                  <div class=\"new_post_placeholder\">输入更新内容</div>\r\n                </div>\r\n                <div class=\"new_post_editor\" *ngIf=\"isEditState\">\r\n                  <quill-editor\r\n                    [styles]=\"{height: '200px'}\"\r\n                    [(ngModel)]=\"editorContent\"\r\n                    [modules]=\"quillConfig\"\r\n                    placeholder=\"\"\r\n                    (onEditorCreated)=\"created($event)\">\r\n                    <div quill-editor-toolbar>\r\n                      <span class=\"ql-formats\">\r\n                        <button class=\"ql-bold\"></button>\r\n                        <button class=\"ql-italic\"></button>\r\n                        <button class=\"ql-underline\"></button>\r\n                        <select class=\"ql-size\"></select>\r\n                      </span>\r\n                      <span class=\"ql-formats\">\r\n                        <select class=\"ql-color\"></select>\r\n                        <select class=\"ql-background\"></select>\r\n                        <button class=\"ql-script\" value=\"sub\"></button>\r\n                        <button class=\"ql-script\" value=\"super\"></button>\r\n                        <button class=\"ql-blockquote\"></button>\r\n                        <button class=\"ql-code-block\"></button>\r\n                      </span>\r\n                      <span class=\"ql-formats\">\r\n                        <button class=\"ql-list\" value=\"ordered\"></button>\r\n                        <button class=\"ql-list\" value=\"bullet\"></button>\r\n                        <select class=\"ql-align\"></select>\r\n                        <button class=\"ql-link\"></button>\r\n                        <button class=\"upload_img\" title=\"上传图片\" (click)=\"openFileModal()\">\r\n                          <nz-upload style=\"display: none;\"\r\n                                     nzAccept=\"image/jpeg, image/png\"\r\n                                     [nzBeforeUpload]=\"beforeUpload\"\r\n                                     [nzAction]= \"uploadFileUrl\"\r\n                                     (nzChange)=\"uploadFile($event)\">\r\n                            <button id=\"uploadFile\" nz-button><i nz-icon nzType=\"upload\"></i><span>选择文件</span></button>\r\n                          </nz-upload>\r\n                          <svg class=\"camera\">\r\n                            <rect class=\"ql-stroke\" height=\"10\" width=\"12\" x=\"3\" y=\"4\"></rect>\r\n                            <circle class=\"ql-fill\" cx=\"6\" cy=\"7\" r=\"1\"></circle>\r\n                            <polyline class=\"ql-even ql-fill\" points=\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\"></polyline>\r\n                          </svg>\r\n                        </button>\r\n                        <button class=\"ql-clean\"></button>\r\n                      </span>\r\n                    </div>\r\n                  </quill-editor>\r\n                  <div class=\"action_wrapper\">\r\n                    <div class=\"post-buttons-wrapper\">\r\n                      <button nz-button nzType=\"default\" nzShape=\"round\" (click)=\"cancelSend()\">\r\n                        取消\r\n                      </button>\r\n                      <button nz-button nzType=\"primary\" nzShape=\"round\" [nzLoading]=\"isPostLoading\" (click)=\"sendPost()\">\r\n                        提交\r\n                      </button>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n            <!-- 对话输入框 end -->\r\n            <!-- 对话列表 begin -->\r\n            <div class=\"space_view\">\r\n              <div class=\"wall new_pulse\">\r\n                <div class=\"posts_list\" *ngIf=\"postData.length > 0\">\r\n                  <div class=\"post_box\" *ngFor=\"let item of postData\">\r\n                    <div class=\"post activity-log\">\r\n                      <div class=\"post_header\">\r\n                        <div class=\"post_title\">\r\n                          <ng-container *ngIf=\"item.users\">\r\n                            <img *ngIf=\"item.users.photoUrl\" src=\"{{item.users.photoUrl}}\" class=\"person-bullet-image person-bullet-component post-header-person-bullet\" />\r\n                            <i style=\"font-size:32px\" *ngIf=\"!item.users.photoUrl\" nz-icon [nzIconfont]=\"'icon-owner'\" class=\"user-image\"></i>\r\n                          </ng-container>\r\n                          <div class=\"title\">\r\n                            <a class=\"user_name router\" *ngIf=\"item.users\">\r\n                              {{item.users.name}}\r\n                            </a>\r\n                          </div>\r\n                          <div class=\"post_top_right_wrapper\">\r\n                            <div class=\"post_time_wrapper\">\r\n                              <a class=\"router\">\r\n                                <i nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i> {{item.createTime | longTimeAgo}}\r\n                              </a>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"post_body_wrapper\">\r\n                        <div class=\"post_body\" style=\"height: auto;\">\r\n                          <div *ngIf=\"item.fromInfoBox\" style=\"padding-left: 15px; margin-top: -10px; color: rgba(0,0,0,0.5)\">\r\n                            在资料箱中创建了 <label style=\"font-weight: 600; color: black; font-size: 15px;\">{{item.infoBoxTitle}}</label> 便签\r\n                          </div>\r\n                          <div class=\"body_text\" [ngClass]=\"item.fromInfoBox?'from-info-box': ''\" [innerHTML]=\"item.body\"></div>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"post_tools_area\">\r\n                        <div class=\"post_tools\">\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPost : ''\">\r\n                            <div class=\"post_tools_btn_wrapper\" *ngIf=\"currentUser && currentUser.id && item.users && item.users.id == currentUser.id\">\r\n                              <a nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removePost(item.id)\" class=\"tools_btn\" href=\"javascript:void(0)\"><i style=\"font-size:19px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i></a>\r\n                            </div>\r\n                            <div class=\"post_tools_btn_wrapper\">\r\n                              <a nz-tooltip nzTooltipTitle=\"回复\" (click)=\"openReplay(item.id)\" class=\"tools_btn\" href=\"javascript:void(0)\"><i style=\"font-size:17px\" nz-icon [nzIconfont]=\"'icon-reply'\"></i></a>\r\n                            </div>\r\n                          </ng-template>\r\n                        </div>\r\n                      </div>\r\n                      <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPost : ''\">\r\n                      <div class=\"replay_area\" *ngIf=\"item.id == replyId || item.replies\">\r\n                        <div class=\"top_arrow show\"></div>\r\n                        <ng-container *ngIf=\"item.replies\">\r\n                          <div class=\"replay\" *ngFor=\"let list of item.replies\">\r\n                            <ng-container *ngIf=\"list.users\">\r\n                              <img *ngIf=\"list.users.photoUrl\" src=\"{{list.users.photoUrl}}\" class=\"person-bullet-image person-bullet-component post-reply-person-bullet\" />\r\n                              <i style=\"font-size:32px\" *ngIf=\"!list.users.photoUrl\" nz-icon [nzIconfont]=\"'icon-owner'\" class=\"user-image\"></i>\r\n                            </ng-container>\r\n                            <div class=\"reply_body body\">\r\n                              <a class=\"user_name router\" *ngIf=\"list.users\">{{list.users.name}}</a>\r\n                              <div class=\"reply_body\">\r\n                                <div class=\"body_text\" [innerHtml]=\"list.body\"></div>\r\n                                <div class=\"body_assets\"></div>\r\n                              </div>\r\n                              <div class=\"details\">\r\n                              <span class=\"detail_tools\">\r\n                                <i style=\"font-size: 11px;\" nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i> {{list.createTime | longTimeAgo}}\r\n                                <a *ngIf=\"currentUser && currentUser.id && list.users && list.users.id == currentUser.id\"\r\n                                  nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removeReplyPost(list.id)\"\r\n                                   class=\"tools_btn\" href=\"javascript:void(0)\"><i style=\"font-size:17px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i></a>\r\n                              </span>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                        </ng-container>\r\n                        <div class=\"post_reply_tools\">\r\n                          <ng-container *ngIf=\"item.users\">\r\n                            <img *ngIf=\"item.users.photoUrl\" src=\"{{item.users.photoUrl}}\" class=\"person-bullet-image person-bullet-component post-header-person-bullet\" />\r\n                            <i style=\"font-size:32px\" *ngIf=\"!item.users.photoUrl\" nz-icon [nzIconfont]=\"'icon-owner'\" class=\"user-image\"></i>\r\n                          </ng-container>\r\n                          <div class=\"reply_editor\">\r\n                            <textarea placeholder=\"输入回复内容\" nz-input [(ngModel)]=\"replyValue\"></textarea>\r\n                            <div class=\"post-buttons-wrapper\" style=\"position: static;text-align: right;margin-top:5px\">\r\n                              <button nz-button nzType=\"default\" nzShape=\"round\" (click)=\"cancelReplySend()\">\r\n                                取消\r\n                              </button>\r\n                              <button nz-button nzType=\"primary\" nzShape=\"round\" [nzLoading]=\"isReplyLoading\" (click)=\"replayPost(item.id)\">\r\n                                发送\r\n                              </button>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      </ng-template>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"text-center page-list\">\r\n                    <nz-pagination (nzPageIndexChange)=\"replyPageChange($event)\" [nzPageIndex]=\"replyPageIndex\" [nzTotal]=\"replyTotal\" [nzPageSize]=\"replyPageSize\" [nzShowTotal]=\"replyTotalTemplate\"></nz-pagination>\r\n                  </div>\r\n                  <ng-template #replyTotalTemplate let-total> 共 {{ total }} 条 </ng-template>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 对话列表 end -->\r\n          </div>\r\n        </div>\r\n      </nz-tab>\r\n      <nz-tab nzTitle=\"资料箱\">\r\n        <nf-infobox [nfPulseData]=\"pulseData\" [currentUser]=\"currentUser\"></nf-infobox>\r\n      </nz-tab>\r\n      <nz-tab nzTitle=\"日志\">\r\n        <div class=\"conversation-scroll-content activity-log-container\" [style.height.px]=\"panelHeight\">\r\n          <div class=\"board-log board-wrapper\">\r\n            <div class=\"board-logs\">\r\n              <!-- 单条记录 begin -->\r\n              <div class=\"single-activity-log-container\" *ngIf=\"logData && logData.length > 0\">\r\n                <!-- 1 -->\r\n                <div class=\"single-activity-log\" *ngFor=\"let log of logData\">\r\n                  <div class=\"activity-box\">\r\n                    <i style=\"font-size: 12px;margin-right:5px\" nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i> {{log.createAt | date:'MM-dd hh:mm'}}\r\n                    <div class=\"activity-and-user\">\r\n                      <div class=\"user\" *ngIf=\"log.users\">\r\n                        <a class=\"profile_photo\" style=\"height: 30px;\" nz-tooltip nzTooltipTitle=\"{{log.users.name}}\">\r\n                          <nz-avatar nzIcon=\"user\" [nzSize]=\"30\" style=\"background-color:#87d068;\"></nz-avatar>\r\n                        </a>\r\n                        <span class=\"user_name\">{{log.users.name}}</span>\r\n                      </div>\r\n<!--                      <div class=\"ds-text-component\"><span nz-tooltip nzTooltipTitle=\"{{log.users.name}}\" *ngIf=\"log.users?.name\">{{log.users.name | slice:0:10}}</span></div>-->\r\n                      <div class=\"ds-text-component\"><span nz-tooltip nzTooltipTitle=\"{{log.data.pulseName}}\" *ngIf=\"log.data.pulseName\">{{log.data.pulseName | slice:0:10}}</span></div>\r\n                    </div>\r\n                    <div class=\"additional-values update_column_value\">\r\n                      <div class=\"separator first\"></div>\r\n                      <div class=\"column-type\">\r\n                        <ng-container [ngSwitch]=\"log.data.columnType\">\r\n                          <i *ngSwitchCase=\"'name'\" nz-icon [nzIconfont]=\"'icon-yuanquan'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'text'\" nz-icon [nzIconfont]=\"'icon-wenben'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'status'\" nz-icon [nzIconfont]=\"'icon-zhuangtai'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'taskProgress'\" nz-icon [nzIconfont]=\"'icon-zhuangtai'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'multiple-person'\" nz-icon [nzIconfont]=\"'icon-duoren'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'dropdown'\" nz-icon [nzIconfont]=\"'icon-xiala'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'select'\" nz-icon [nzIconfont]=\"'icon-select'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'button'\" nz-icon [nzIconfont]=\"'icon-button'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'date'\" nz-icon [nzIconfont]=\"'icon-riqi'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'date-time'\" nz-icon [nzIconfont]=\"'icon-riqi'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'check'\" nz-icon nzType=\"check\" style=\"font-size: 19px;\"></i>\r\n                          <i *ngSwitchCase=\"'time-interval'\" nz-icon [nzIconfont]=\"'icon-riqi'\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'file'\" nz-icon nzType=\"file\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'link'\" nz-icon nzType=\"link\" style=\"font-size:19px\"></i>\r\n                          <i *ngSwitchCase=\"'vote'\" nz-icon nzType=\"like\" style=\"font-size:19px\"></i>\r\n                          <div class=\"ds-text-component\">\r\n                            <span>{{log.data.columnTitle}}</span>\r\n                          </div>\r\n                        </ng-container>\r\n                      </div>\r\n                      <div class=\"separator\"></div>\r\n                      <div class=\"single-log-values-component\">\r\n                        <ng-container [ngSwitch]=\"log.data.columnType\">\r\n                          <!-- name日志 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'name'\">\r\n                            <div class=\"old-value\">\r\n                              <ng-container *ngIf=\"log.data.previousValue\">\r\n                                <div *ngIf=\"log.data.previousValue.name\" nz-tooltip nzTooltipTitle=\"{{log.data.value.name}}\" class=\"ds-text-component\" style=\"text-align: center;\"><span>{{log.data.previousValue.name}}</span></div>\r\n                                <div *ngIf=\"!log.data.previousValue.name\" class=\"single-log-value text previous empty\">\r\n                                  <div class=\"empty\"></div>\r\n                                </div>\r\n                              </ng-container>\r\n                              <ng-container *ngIf=\"!log.data.previousValue\">\r\n                                <div class=\"single-log-value text previous empty\">\r\n                                  <div class=\"empty\"></div>\r\n                                </div>\r\n                              </ng-container>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span class=\"text-content\" nz-tooltip nzTooltipTitle=\"{{log.data.value?.name}}\">{{log.data.value?.name}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 文本日志 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'text'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" nz-tooltip nzTooltipTitle=\"{{log.data.previousValue}}\" style=\"text-align: center;\"><span>{{log.data.previousValue}}</span></div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span class=\"text-content\" nz-tooltip nzTooltipTitle=\"{{log.data.value}}\">{{log.data.value}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 状态日志 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'status'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <label style=\"padding: 3px 8px; border-radius: 5px;\" [style.background-color]=\"getStatusColor(log.data, log.data.previousValue)\">\r\n                                    {{getStatusText(log.data, log.data.previousValue)}}\r\n                                  </label>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <label style=\"padding: 3px 8px; border-radius: 5px;\" class=\"text-content\" [style.background-color]=\"getStatusColor(log.data, log.data.value)\">\r\n                                    {{getStatusText(log.data, log.data.value)}}\r\n                                  </label>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 任务完成情况-->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'taskProgress'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue && log.data.previousValue != 'null'\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <label style=\"padding: 3px 8px; border-radius: 5px;\" [style.background-color]=\"getStatusColor(log.data, log.data.previousValue.value)\">\r\n                                    {{getStatusText(log.data, log.data.previousValue.value)}}\r\n                                  </label>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue || log.data.previousValue == 'null'\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <label style=\"padding: 3px 8px; border-radius: 5px;\" class=\"text-content\" [style.background-color]=\"getStatusColor(log.data, log.data.value.value)\">\r\n                                    {{getStatusText(log.data, log.data.value.value)}}\r\n                                  </label>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 人员日志 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'multiple-person'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <ng-container *ngFor=\"let item of log.data.previousValue.personsAndTeams\">\r\n                                    <div class=\"person-bullet-container\">\r\n                                      <nz-avatar nz-tooltip nzTooltipTitle=\"{{item.name}}\" nzIcon=\"user\" [nzSize]=\"30\" style=\"background-color:#2196F3;border:2px solid\"></nz-avatar>\r\n                                    </div>\r\n                                  </ng-container>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <ng-container *ngIf=\"log.data.value.personsAndTeams.length <= 4\">\r\n                                    <ng-container *ngFor=\"let item of log.data.value.personsAndTeams\">\r\n                                      <div class=\"person-bullet-container\">\r\n                                        <nz-avatar nz-tooltip nzTooltipTitle=\"{{item.name}}\" nzIcon=\"user\" [nzSize]=\"30\" style=\"background-color:#2196F3;border:2px solid\"></nz-avatar>\r\n                                      </div>\r\n                                    </ng-container>\r\n                                  </ng-container>\r\n                                  <ng-container *ngIf=\"log.data.value.personsAndTeams.length > 4\">\r\n                                    <div class=\"person-bullet-container\">\r\n                                      <nz-avatar nz-tooltip nzTooltipTitle=\"{{log.data.value.personsAndTeams[0].name}}\" nzIcon=\"user\" [nzSize]=\"30\" style=\"background-color:#2196F3;border:2px solid\"></nz-avatar>\r\n                                    </div>\r\n                                    <div class=\"extra-persons-indicator-component\" nz-tooltip [nzTooltipTitle]=\"personsAndTeamsContent\"><span>+{{log.data.value.personsAndTeams.length - 1}}</span></div>\r\n                                  </ng-container>\r\n                                  <ng-template #personsAndTeamsContent>\r\n                                    <div *ngFor=\"let item of log.data.value.personsAndTeams, let i = index\">\r\n                                      <span *ngIf=\"i > 0\">\r\n                                        {{item.name}}\r\n                                      </span>\r\n                                    </div>\r\n                                  </ng-template>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 下拉日志 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'dropdown'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span>{{translateDropdown(log.data, log.data.previousValue)}}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span>{{translateDropdown(log.data, log.data.value)}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 选择 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'select'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span>{{translateSelect(log.data, log.data.previousValue)}}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span *ngIf=\"log.data.value\">{{translateSelect(log.data, log.data.value)}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 按钮 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'button'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <label class=\"conversation-button\">{{translateButton(log.data, log.data.previousValue)}}</label>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <label class=\"conversation-button\">{{translateButton(log.data, log.data.value)}}</label>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 日期 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'date'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span>{{log.data.previousValue['date']?log.data.previousValue['date']:'-'}}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span *ngIf=\"log.data.value\">{{log.data.value.date?log.data.value.date:'-'}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 日期时间 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'date-time'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span>{{log.data.previousValue['date']?(log.data.previousValue['date'] + ' ' + log.data.previousValue['time']):'-'}}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span *ngIf=\"log.data.value\" class=\"text-content\" nz-tooltip nzTooltipTitle=\"{{log.data.value.date + ' ' + log.data.value.time}}\">\r\n                                    {{log.data.value.date ? (log.data.value.date + ' ' + log.data.value.time): '-'}}\r\n                                  </span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 复选 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'check'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue == 'true'\" class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <i style=\"color: rgb(0, 202, 114); font-size: 18px; transform: scaleX(1.2);\" nz-icon nzType=\"check\"></i>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span *ngIf=\"log.data.value == 'true'\" class=\"text-content\">\r\n                                    <i style=\"color: rgb(0, 202, 114); font-size: 18px; transform: scaleX(1.2);\" nz-icon nzType=\"check\"></i>\r\n                                  </span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 时间区间 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'time-interval'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue && log.data.previousValue['date'] && log.data.previousValue['date'].length > 0\"\r\n                                   class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span>{{log.data.previousValue['date'][0]}} - {{log.data.previousValue['date'][1]}}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span *ngIf=\"log.data.value && log.data.value.date && log.data.value.date.length > 0\" class=\"text-content\">\r\n                                    {{log.data.value.date[0]}} - {{log.data.value.date[1]}}\r\n                                  </span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 文件 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'file'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue && log.data.previousValue.files\"\r\n                                   class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <nz-tag *ngFor=\"let file of log.data.previousValue['files']\">\r\n                                    {{file.name}}\r\n                                  </nz-tag>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue || !log.data.previousValue.files\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <div *ngIf=\"log.data.value && log.data.value.files\">\r\n                                    <nz-tag *ngFor=\"let file of log.data.value['files']\" class=\"text-content\">\r\n                                      {{file.name}}\r\n                                    </nz-tag>\r\n                                  </div>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 链接 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'link'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\"\r\n                                   class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\" nz-tooltip=\"{{log.data.previousValue.url?log.data.previousValue.url:''}}\">\r\n                                  <span>{{log.data.previousValue.name}}</span>\r\n                                </div>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" style=\"text-align: center;\">\r\n                                  <span *ngIf=\"log.data.value\" class=\"text-content\" nz-tooltip=\"{{log.data.value.url?log.data.value.url:''}}\">\r\n                                    {{log.data.value.name}}\r\n                                  </span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <!-- 投票 -->\r\n                          <div class=\"old-new-values-container\" *ngSwitchCase=\"'vote'\">\r\n                            <div class=\"old-value\">\r\n                              <div *ngIf=\"log.data.previousValue\"\r\n                                   class=\"single-log-value\">\r\n                                <div class=\"ds-text-component\" *ngIf=\"log.data.previousValue.voters && log.data.previousValue.voters.length > 0\"\r\n                                     style=\"text-align: center;\" nz-tooltip [nzTooltipTitle]=\"voteTemp\">\r\n                                  <ng-container>\r\n                                    <span *ngFor=\"let voter of log.data.previousValue.voters\">{{voter.name}} </span>\r\n                                  </ng-container>\r\n                                </div>\r\n                                <ng-template #voteTemp>\r\n                                  <div style=\"width: 300px;\">\r\n                                    <label style=\"display: block;\" *ngFor=\"let voter of log.data.previousValue.voters\">\r\n                                      {{voter.name + '(' + voter.id + ')'}}\r\n                                    </label>\r\n                                  </div>\r\n                                </ng-template>\r\n                              </div>\r\n                              <div *ngIf=\"!log.data.previousValue\" class=\"single-log-value text previous empty\">\r\n                                <div class=\"empty\"></div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"separator before-arrow\"></div>\r\n                            <div class=\"arrow-separator\"></div>\r\n                            <div class=\"separator after-arrow\"></div>\r\n                            <div class=\"new-value\">\r\n                              <div class=\"single-log-value text new \">\r\n                                <div class=\"ds-text-component\" *ngIf=\"log.data.value && log.data.value.voters && log.data.value.voters.length > 0\" style=\"text-align: center;\"\r\n                                     nz-tooltip [nzTooltipTitle]=\"voteTemp\">\r\n                                  <span *ngFor=\"let voter of log.data.value.voters\" class=\"text-content\">{{voter.name}} </span>\r\n                                </div>\r\n                                <ng-template #voteTemp>\r\n                                  <div style=\"width: 300px;\">\r\n                                    <label style=\"display: block;\" *ngFor=\"let voter of log.data.value.voters\">{{voter.name + '(' + voter.id + ')'}}</label>\r\n                                  </div>\r\n                                </ng-template>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                        </ng-container>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n                <!-- end -->\r\n                <div class=\"text-center page-list\">\r\n                  <nz-pagination (nzPageIndexChange)=\"logPageChange($event)\" [nzPageIndex]=\"logPageIndex\" [nzTotal]=\"logTotal\" [nzPageSize]=\"logPageSize\" [nzShowTotal]=\"logTotalTemplate\"></nz-pagination>\r\n                </div>\r\n                <ng-template #logTotalTemplate let-total> 共 {{ total }} 条 </ng-template>\r\n              </div>\r\n              <div class=\"single-activity-log-container\" *ngIf=\"!logData\">\r\n                <nz-empty></nz-empty>\r\n              </div>\r\n              <!-- 单条记录 end -->\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </nz-tab>\r\n    </nz-tabset>\r\n  </div>\r\n</div>\r\n","styles":[".conversation-container{display:flex;flex-direction:column;flex-wrap:nowrap;height:100%}.conversation-container .flexible-header{flex:0 1 auto;flex-grow:0}.conversation-container .pulse_title,.new_pulse .pulse_title{text-align:left}.conversation-container .pulse_title h1,.new_pulse .pulse_title h1{border:1px solid #fff;color:#333;cursor:default;display:block;font-size:20px;font-weight:700;letter-spacing:-.1px;line-height:26px;min-height:25px;outline:none;padding:5px 5px 5px 10px}.multiline-ellipsis-component{overflow-wrap:break-word;width:95%}.conversation-content-wrapper{flex:1 1 auto;flex-grow:1;overflow:hidden;position:relative}.conversation-scroll-content{overflow-x:hidden;overflow-y:auto}.conversation-scroll-content::-webkit-scrollbar{height:8px;width:8px}.conversation-scroll-content::-webkit-scrollbar-thumb{background-color:#b2b2b2}.conversation-scroll-content::-webkit-scrollbar-track{border-radius:10px}::ng-deep .ant-drawer-body{padding:10px 0 10px 10px}.conversation-content{margin-top:15px;padding-right:10px}::ng-deep .ql-snow .ql-tooltip{left:0!important}::ng-deep .ql-container.ql-snow{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-color:#009aff}::ng-deep .ql-toolbar.ql-snow{border-bottom:1px solid #efefef;border-color:#009aff;border-top-left-radius:8px;border-top-right-radius:8px}.ql-snow .ql-toolbar button svg,::ng-deep .ql-snow.ql-toolbar button svg{height:15px;width:15px}.new_post{display:block;margin:0 auto;max-width:1150px;position:relative;text-align:left}.new_post .new_post_placeholder{background:#fff;border:1px solid #009aff;border-radius:8px;color:#999;cursor:text;padding:10px 20px;transition:color .15s ease}.new_post .new_post_placeholder:hover{color:#333;cursor:text}.action_wrapper{display:flex;margin:7px 5px 3px 0;position:relative;text-align:right}.upload_file_button{left:0;position:absolute}.file_upload{cursor:pointer;display:inline-block;font-size:13px;text-align:left}.file_upload,.file_upload i{color:#00a9ff}.post-buttons-wrapper{padding:2px 0 2px 18px;position:absolute;right:0}.post-buttons-wrapper button{flex:0 1 auto;margin-left:5px;margin-top:1px}::ng-deep .ant-upload{color:#00a9ff}::ng-deep .ant-btn-round{font-size:13px}::ng-deep .ant-upload-list-item-info>span{min-width:200px}.space_view{margin-bottom:40px;margin-top:40px;overflow-y:auto;padding-top:10px;position:relative}.space_view .wall{margin:0 auto;max-width:1150px}.space_view .posts_list{clear:both;list-style:none;margin:0;padding:0}.space_view .posts_list .post_box{-webkit-animation-duration:.4s;animation-duration:.4s;position:relative}.post{position:relative;vertical-align:top}.new_pulse .posts_list .post{background:#fff;border:1px solid #dedede;margin-bottom:15px}.new_pulse .posts_list .post.activity-log{margin-bottom:32px}.new_pulse .posts_list .post_box:first-child .post{margin-top:0}.new_pulse .posts_list .post .post_header{min-height:76px;padding:15px}.new_pulse .posts_list .post .post_header .post_title{display:flex;position:relative;z-index:2}.new_pulse .posts_list .post .post_header .post_title .post-header-person-bullet{height:40px;width:40px}.new_pulse .posts_list .post .title{display:flex;flex-direction:column;justify-content:center;line-height:18px;margin-left:8px;width:calc(100% - 60px)}.new_pulse .posts_list .post .title .user_name{color:#009aff;font-weight:400}.new_pulse .posts_list .post .post_header .post_title .post_top_right_wrapper{position:absolute;right:0;top:0;z-index:1}.new_pulse .posts_list .post .post_header .post_title .post_time_wrapper{display:inline-block;margin-left:26px;margin-top:2px}.new-post-menu-component,.new_pulse .posts_list .post .post_time_wrapper a{color:#ababab;cursor:pointer}.new_pulse .posts_list .post .post_time_wrapper i{font-size:11px}.new-post-menu-component{display:inline-block;font-size:15px;margin-left:-8px}.new_pulse .posts_list .post_box .post{border-radius:8px}.post .post_body{vertical-align:top}.post .post_body_wrapper .post_body .body_text{padding:0 15px 15px;position:relative;word-break:break-word}.body_text{overflow:auto}.from-info-box{background-color:#f5f5f5;border-radius:4px;color:#4b4638;margin:0 15px;padding:10px 0 10px 5px!important}.post_tools_area{border-top:1px solid #f3f3f3;margin:0 15px}.post_tools_area:after{clear:both;content:\"\";display:table}.post_tools_area .post_tools{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#e5e5e5;float:right;height:22px;margin-bottom:10px;margin-top:10px;user-select:none;visibility:visible}.post_tools_area .post_tools_btn_wrapper{border-right:1px solid #dedede;display:inline;margin-left:10px;padding-right:10px}.post_tools_area .post_tools_btn_wrapper:last-child{border-right:none}.tools_btn{color:#2e2e2e}.post .replay_area{border-top:1px solid #fff;clear:both;position:relative}.post .replay_area .top_arrow{border-color:transparent transparent #f1f2f3;border-style:solid;border-width:0 18px 15px;height:0;left:15px;opacity:0;position:absolute;top:0;transition:all .15s ease;width:0}.show{display:block!important}.post .replay_area .top_arrow.show{opacity:1;top:-15px}.replay_area .replay{background-color:#f1f2f3;border-bottom:1px solid #fff;padding:14px 15px 7px;position:relative;width:100%}.post_reply,.post_reply_tools{background-color:#f1f2f3;margin:0;padding:15px;position:relative}.post_reply:last-child,.post_reply_tools:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.person-bullet-component{border-radius:50%;display:flex;flex-shrink:0;height:25px;position:relative;width:25px}.post .replay_area .post-edit-reply-person-bullet,.post .replay_area .post-reply-person-bullet{height:36px;position:absolute;width:36px}.replay_area .replay .body{display:inline-block;margin-left:20px;min-height:35px}.replay_area .replay .user_name{margin-right:3px;vertical-align:top;white-space:nowrap}.replay_area .replay .body .reply_body{margin-top:5px}.replay_area .replay .body .body_text{display:inline;word-break:break-word}.body_text p{margin-bottom:5px}.replay_area .replay .details{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:#aaa;display:block;margin-top:5px;min-height:20px;position:relative;user-select:none}.replay_area .replay .details .detail_tools{float:right;margin-top:5px}.detail_tools .tools_btn{border-left:1px solid rgba(0,0,0,.08);color:#aaa;margin-left:10px;padding-left:7px}.reply_editor{margin-left:50px;margin-top:-30px}.single-activity-log-container{height:51px;left:0;position:absolute;top:60px;width:100%}.activity-log-container .board-log .single-activity-log-container .single-activity-log{border-top:1px solid #f1f1f1;padding:10px 0}.activity-log-container .board-log .single-activity-log-container .single-activity-log:first-child{border-top-color:transparent}.activity-log-container .board-log .single-activity-log .activity-box{align-items:center;display:flex;height:34px;padding:0 8px;position:relative}.activity-log-container .board-log .single-activity-log .activity-box .humanize{color:#333;flex:0 0 56px}.activity-log-container .board-log .single-activity-log .activity-box .activity-and-user{align-items:center;display:flex;flex:1 0 0;height:100%;padding-left:20px;position:relative}.activity-log-container .board-log .single-activity-log .activity-box .activity-and-user .user{flex:0 1 auto;height:30px;z-index:1}.activity-log-container .board-log .single-activity-log .activity-box .activity-and-user .user .user_name{padding-left:10px}.activity-log-container .board-log .single-activity-log .activity-box .activity-and-user .user .profile_photo{margin-bottom:0}.activity-log-container .board-log .single-activity-log .activity-box .activity-and-user .ds-text-component{border:none;color:#333;cursor:default;flex:1 1 auto;line-height:34px;padding-left:150px;padding-right:0;position:absolute;width:100%}.activity-log-container .board-log .single-activity-log .activity-box .additional-values{align-items:center;display:flex;flex:1.5 0 0;height:100%}.activity-log-container .board-log .single-activity-log .activity-box .column-type{align-items:center;display:flex;flex:1.2 0 0;height:100%;position:relative}.activity-log-container .board-log .single-activity-log .activity-box .column-type .ds-text-component{border:none;color:#868686;cursor:default;height:100%;line-height:34px;padding-left:20px;position:absolute;width:100%}.single-log-values-component{align-items:center;display:flex;flex:2.2 0 0;height:100%}.single-log-values-component .old-new-values-container{align-items:center;display:flex;flex:1 1 auto;height:100%;overflow:hidden}.single-log-value:not(.color):not(.timerange) .empty{background-color:#fff;color:#333;height:20px;margin-top:7px}.single-log-value:not(.color):not(.timerange) .empty:after{content:\"-\"}.activity-log-container .board-log .single-activity-log .activity-box .separator.before-arrow{flex:0 0 2px}.single-log-values-component .old-new-values-container .arrow-separator{border-bottom:1px solid #c4c4c4;border-right:1px solid #c4c4c4;flex:0 0 8px;height:8px;transform:rotate(-45deg)}.activity-log-container .board-log .single-activity-log .activity-box .separator{flex:0 0 16px;height:100%}.activity-log-container .board-log .single-activity-log .activity-box .separator.after-arrow{flex:0 0 7px}.single-log-values-component .old-new-values-container .new-value,.single-log-values-component .old-new-values-container .old-value{cursor:default;flex:1 0 0;height:100%}.single-log-value:not(.empty):first-child{line-height:34px}.single-log-value{color:#333;height:100%;letter-spacing:-.03em;position:relative;text-align:center}.single-log-value .ds-text-component{border:none;line-height:34px;padding:0 8px;position:absolute;text-align:left;width:100%}.ds-text-component{border:1px solid transparent;height:100%;line-height:34px;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap}.activity-log-container .board-log .single-activity-log .activity-box .activity-and-user .user .profile_photo img{height:30px;width:30px}.img-circle{border-radius:50%}.single-log-value.color,.single-log-value.timerange{border-radius:2px;margin:0 auto;width:80%}.page-list{margin-top:50px}.ds-text-component{border:none;color:#333;cursor:default;flex:1 1 auto;font-size:14px;line-height:39px;padding-left:36px;padding-right:0;position:absolute;width:100%}.person-bullet-container{display:inline-block;margin-left:-5px}.person-bullet-container img{border:2px solid #fff;border-radius:100px}.extra-persons-indicator-component{background-color:#333;border-radius:25px;color:#fff;display:inline-block;flex-shrink:0;font-size:12px;font-weight:300;height:25px;line-height:25px;min-width:25px;padding:0 5px;position:relative;vertical-align:middle}::ng-deep .conversation-container .ant-tabs-bar{margin-bottom:5px}.conversation-button{background-color:#2196f3;border-radius:5px;color:#fff;padding:3px 9px}::ng-deep .ql-mention-denotation-char{display:none}::ng-deep .ql-mention-list{max-height:300px;overflow-y:auto}::ng-deep .ql-mention-list-item{font-size:13px;height:30px;line-height:30px}"]}]}],"members":{"changePath":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3},"arguments":["nfData"]}]}],"boardDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3},"arguments":["boardData"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":108,"character":17},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":110,"character":24},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":111,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"initEditorOption":[{"__symbolic":"method"}],"changeEditState":[{"__symbolic":"method"}],"created":[{"__symbolic":"method"}],"tabIndexChange":[{"__symbolic":"method"}],"getPostList":[{"__symbolic":"method"}],"sendPost":[{"__symbolic":"method"}],"cancelSend":[{"__symbolic":"method"}],"cancelReplySend":[{"__symbolic":"method"}],"removePost":[{"__symbolic":"method"}],"removeReplyPost":[{"__symbolic":"method"}],"openReplay":[{"__symbolic":"method"}],"replayPost":[{"__symbolic":"method"}],"openFileModal":[{"__symbolic":"method"}],"uploadFile":[{"__symbolic":"method"}],"getLogList":[{"__symbolic":"method"}],"replyPageChange":[{"__symbolic":"method"}],"logPageChange":[{"__symbolic":"method"}],"translateStatus":[{"__symbolic":"method"}],"getStatusText":[{"__symbolic":"method"}],"getStatusColor":[{"__symbolic":"method"}],"translateDropdown":[{"__symbolic":"method"}],"translateSelect":[{"__symbolic":"method"}],"translateButton":[{"__symbolic":"method"}],"getColumn":[{"__symbolic":"method"}],"getBoardSubscribersData":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"nf-filter","template":"<div class=\"advanced-filter-dialog\" >\r\n  <div class=\"advanced-filter-header\">\r\n    <div class=\"filter-header-title\">\r\n      筛选面板\r\n    </div>\r\n    <div class=\"filter-header-tool\">\r\n      <a href=\"javascript:;\" (click)=\"cleanFilter()\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-clean'\"></i> 清除选中</a>\r\n    </div>\r\n  </div>\r\n  <div class=\"advanced-filter-content\">\r\n    <div class=\"advanced-filter-items\">\r\n      <div class=\"advanced-filter-items-inner\">\r\n        <ng-container *ngFor=\"let column of filterColumnData\">\r\n          <ng-container *ngIf=\"column.type == 'group'\">\r\n            <div class=\"advanced-filter-item\" style=\"width: 120px;\">\r\n              <div class=\"advanced-filter-item-title\">{{column.title}}</div>\r\n              <div class=\"items-list-container\"></div>\r\n              <div class=\"advanced-filter-item-options not-selected\">\r\n                <a (click)=\"filterNotSelectGroup(group)\" class=\"advanced-filter-option groups\" *ngFor=\"let group of filterGroupData.notSelected\">\r\n                  <div class=\"advanced-filter-option-content\">\r\n                    <div [style.color]=\"group.color\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span>{{group.title}}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </a>\r\n                <div class=\"seperator-text\" *ngIf=\"filterGroupData.selected.length > 0\">\r\n                  <span>选中 {{filterGroupData.selected.length}}</span>\r\n                </div>\r\n              </div>\r\n              <div class=\"advanced-filter-item-options selected\">\r\n                <a (click)=\"filterSelectGroup(group)\" class=\"advanced-filter-option groups\" *ngFor=\"let group of filterGroupData.selected\">\r\n                  <div class=\"advanced-filter-option-content\">\r\n                    <div [style.color]=\"group.color\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span>{{group.title}}</span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </a>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"column.type == 'progress'\">\r\n            <div class=\"advanced-filter-item\" style=\"width: 120px;\">\r\n              <div class=\"advanced-filter-item-title\">{{column.title}}</div>\r\n              <div class=\"items-list-container\"></div>\r\n              <div class=\"advanced-filter-item-options not-selected\">\r\n                <a (click)=\"filterNotSelectProgress(item)\" class=\"advanced-filter-option progress\" *ngFor=\"let item of progressData.notSelected\">\r\n                  <div class=\"advanced-filter-option-content\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span>{{item.symbol}}{{item.value}}%</span>\r\n                    </div>\r\n                  </div>\r\n                </a>\r\n                <div class=\"seperator-text\" *ngIf=\"progressData.selected.length > 0\">\r\n                  <span>选中 {{progressData.selected.length}}</span>\r\n                </div>\r\n              </div>\r\n              <div class=\"advanced-filter-item-options selected\">\r\n                <a (click)=\"filterSelectProgress(item)\" class=\"advanced-filter-option progress\" *ngFor=\"let item of progressData.selected\">\r\n                  <div class=\"advanced-filter-option-content\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span>{{item.symbol}}{{item.value}}%</span>\r\n                    </div>\r\n                  </div>\r\n                </a>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"column.type !== 'group' && column.type !== 'progress'\">\r\n            <div class=\"advanced-filter-item\" style=\"width: 120px;\">\r\n              <div class=\"advanced-filter-item-title\">{{column.title}}</div>\r\n              <div class=\"items-list-container\">\r\n                <!-- 未选 -->\r\n                <div class=\"advanced-filter-item-options not-selected\" *ngIf=\"filterPulseData[column.id]\">\r\n                  <ng-container *ngFor=\"let pulse of filterPulseData[column.id].notSelected\">\r\n                    <ng-container [ngSwitch]=\"column.type\">\r\n                      <ng-container *ngSwitchCase=\"'multiple-person'\">\r\n                        <a (click)=\"filterNotSelect(column.id, pulse, 'multiple-person')\" class=\"advanced-filter-option multiple-person\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <nz-avatar *ngIf=\"pulse\" nzIcon=\"user\" [nzSize]=\"25\" style=\"background-color:#2196F3;\"></nz-avatar>\r\n                          </div>\r\n                          <div *ngIf=\"pulse\" class=\"advanced-filter-option-counter\" title=\"{{pulse.name}}\">{{pulse.name}}</div>\r\n                        </a>\r\n                      </ng-container>\r\n                      <a (click)=\"filterNotSelect(column.id, pulse, 'status')\" *ngSwitchCase=\"'status'\" class=\"advanced-filter-option status\">\r\n                        <div class=\"advanced-filter-option-content\">\r\n                          <div class=\"status-inner\">\r\n                            <ng-container *ngFor=\"let list of column.labels\">\r\n                              <ng-container *ngIf=\"list.index === pulse.value.index\">\r\n                                <span class=\"status-circle\" [style.background]=\"list.color\"></span>\r\n                                <span class=\"status-text\" [innerHTML]=\"pulse.value.index ? list.label : '空'\"></span>\r\n                              </ng-container>\r\n                            </ng-container>\r\n                          </div>\r\n                        </div>\r\n                      </a>\r\n                      <a (click)=\"filterNotSelect(column.id, pulse, 'text')\" *ngSwitchCase=\"'text'\" class=\"advanced-filter-option text\">\r\n                        <ng-container *ngIf=\"pulse.value\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <div class=\"ds-text-component\">\r\n                              <span>{{pulse.value}}</span>\r\n                            </div>\r\n                          </div>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!pulse.value\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <div class=\"ds-text-component\">\r\n                              <span>空</span>\r\n                            </div>\r\n                          </div>\r\n                        </ng-container>\r\n                      </a>\r\n                      <ng-container *ngSwitchCase=\"'date'\">\r\n                        <a (click)=\"filterNotSelect(column.id, pulse, 'date')\" *ngIf=\"pulse.value.date\" class=\"advanced-filter-option date\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <div class=\"ds-text-component\">\r\n                              <span>{{pulse.value.date}}</span>\r\n                            </div>\r\n                          </div>\r\n                        </a>\r\n                      </ng-container>\r\n                      <a *ngSwitchCase=\"'progress'\" class=\"advanced-filter-option progress\">\r\n                        <div class=\"advanced-filter-option-content\">\r\n                          <div class=\"ds-text-component\">\r\n                            <span>{{pulse.value}}</span>\r\n                          </div>\r\n                        </div>\r\n                      </a>\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </div>\r\n                <!-- 已选 -->\r\n                <div class=\"seperator-text\" *ngIf=\"filterPulseData[column.id] && filterPulseData[column.id].selected.length > 0\">\r\n                  <span>选中 {{filterPulseData[column.id].selected.length}}</span>\r\n                </div>\r\n                <div class=\"advanced-filter-item-options selected\" *ngIf=\"filterPulseData[column.id]\">\r\n                  <ng-container *ngFor=\"let pulse of filterPulseData[column.id].selected\">\r\n                    <ng-container [ngSwitch]=\"column.type\">\r\n                      <ng-container *ngSwitchCase=\"'multiple-person'\">\r\n                        <a (click)=\"filterSelect(column.id, pulse, 'multiple-person')\" class=\"advanced-filter-option multiple-person\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <nz-avatar nzIcon=\"user\" [nzSize]=\"25\" style=\"background-color:#2196F3;\"></nz-avatar>\r\n                          </div>\r\n                          <div class=\"advanced-filter-option-counter\" title=\"{{pulse.name}}\">{{pulse.name}}</div>\r\n                        </a>\r\n                      </ng-container>\r\n                      <a (click)=\"filterSelect(column.id, pulse, 'status')\" *ngSwitchCase=\"'status'\" class=\"advanced-filter-option status\">\r\n                        <div class=\"advanced-filter-option-content\">\r\n                          <div class=\"status-inner\">\r\n                            <ng-container *ngFor=\"let list of column.labels\">\r\n                              <ng-container *ngIf=\"list.index === pulse.value.index\">\r\n                                <span class=\"status-circle\" [style.background]=\"list.color\"></span>\r\n                                <span class=\"status-text\" [innerHTML]=\"pulse.value.index ? list.label : '空'\"></span>\r\n                              </ng-container>\r\n                            </ng-container>\r\n                          </div>\r\n                        </div>\r\n                      </a>\r\n                      <a (click)=\"filterSelect(column.id, pulse, 'text')\" *ngSwitchCase=\"'text'\" class=\"advanced-filter-option text\">\r\n                        <ng-container *ngIf=\"pulse.value\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <div class=\"ds-text-component\">\r\n                              <span>{{pulse.value}}</span>\r\n                            </div>\r\n                          </div>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!pulse.value\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <div class=\"ds-text-component\">\r\n                              <span>空</span>\r\n                            </div>\r\n                          </div>\r\n                        </ng-container>\r\n                      </a>\r\n                      <ng-container *ngSwitchCase=\"'date'\">\r\n                        <a (click)=\"filterSelect(column.id, pulse, 'date')\" *ngIf=\"pulse.value.date\" class=\"advanced-filter-option date\">\r\n                          <div class=\"advanced-filter-option-content\">\r\n                            <div class=\"ds-text-component\">\r\n                              <span>{{pulse.value.date}}</span>\r\n                            </div>\r\n                          </div>\r\n                        </a>\r\n                      </ng-container>\r\n                      <a *ngSwitchCase=\"'progress'\" class=\"advanced-filter-option progress\">\r\n                        <div class=\"advanced-filter-option-content\">\r\n                          <div class=\"ds-text-component\">\r\n                            <span>{{pulse.value}}</span>\r\n                          </div>\r\n                        </div>\r\n                      </a>\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".advanced-filter-dialog{max-width:800px}.advanced-filter-header{border-bottom:1px solid #f1f1f1;margin-bottom:8px;padding-bottom:8px;position:relative;width:100%}.advanced-filter-header:after{clear:both;content:\"\";display:table}.filter-header-title{float:left;font-weight:600}.filter-header-tool{float:right}.filter-header-tool a:active,.filter-header-tool a:focus{text-decoration:none}.advanced-filter-items{overflow-x:auto;text-align:center}.advanced-filter-items .advanced-filter-items-inner{display:inline-block;padding:15px;transform:translate(0) translateZ(0);transition-duration:0ms;transition-timing-function:cubic-bezier(.1,.57,.1,1);white-space:nowrap}.advanced-filter-item{display:inline-block;text-align:left;vertical-align:top}.advanced-filter-item:not(:last-of-type){margin-right:10px}.advanced-filter-item .advanced-filter-item-title{color:grey;font-size:13px;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis}.advanced-filter-item .advanced-filter-item-options{max-height:150px;overflow-y:auto}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option{align-items:center;background:#f5f5f5;border-bottom:1px solid #e1e1e1;display:flex;font-size:13px;height:32px;justify-content:center;margin-bottom:4px;padding:5px 8px;transition:background-color .1s ease}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option:hover{background:rgba(0,0,0,.1)}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option .advanced-filter-option-content{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option .advanced-filter-option-counter{color:#a1a1a1;flex:0 0 auto;font-size:12px;font-weight:100;margin-left:5px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.advanced-filter-item .seperator-text{box-shadow:0 -3px 16px 2px #fff;color:grey;font-size:13px;margin:4px 0;position:relative;text-align:left;white-space:pre-line;z-index:1}.advanced-filter-item .advanced-filter-item-options.selected{position:relative}.advanced-filter-item .advanced-filter-item-options.selected:before{bottom:0;box-shadow:inset 0 -9px 8px -3px #fff;content:\"\";height:10px;overflow-x:hidden;pointer-events:none;position:absolute;z-index:1}.advanced-filter-item-options::-webkit-scrollbar-track-piece,.advanced-filter-items::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#fff}.advanced-filter-item-options::-webkit-scrollbar,.advanced-filter-items::-webkit-scrollbar{height:10px;width:3px}.advanced-filter-item-options::-webkit-scrollbar-thumb,.advanced-filter-item-options::-webkit-scrollbar-thumb:hover,.advanced-filter-items::-webkit-scrollbar-thumb,.advanced-filter-items::-webkit-scrollbar-thumb:hover{background-color:#b2b2b2;border-radius:10px}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option.status .status-inner{align-items:center;display:flex;justify-content:center}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option.status .status-inner .status-circle{border-radius:50%;display:inline-block;flex:0 0 auto;height:10px;margin-right:5px;width:10px}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option.status .status-inner .status-text{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.advanced-filter-item .advanced-filter-item-options .advanced-filter-option.multiple-person .person-image{border:1px;border-radius:50%;height:24px;width:24px}.advanced-filter-option{color:#686868}"]}]}],"members":{"ChangeColumn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3},"arguments":["nfBoardColumn"]}]}],"ChangeGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3},"arguments":["nfBoardGroup"]}]}],"ChangePulse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3},"arguments":["nfBoardPulse"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"handleFilterList":[{"__symbolic":"method"}],"filterNotSelectGroup":[{"__symbolic":"method"}],"filterSelectGroup":[{"__symbolic":"method"}],"filterNotSelect":[{"__symbolic":"method"}],"filterSelect":[{"__symbolic":"method"}],"filterNotSelectProgress":[{"__symbolic":"method"}],"filterSelectProgress":[{"__symbolic":"method"}],"cleanFilter":[{"__symbolic":"method"}],"unique":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"task-table","providers":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":29,"character":27}],"template":"<div class=\"board-header-component\">\r\n  <div *ngIf=\"showFilter\" style=\"position: fixed; right: 10px; padding: 0 8px;\" class=\"filter-button\" nz-popover [nzPopoverContent]=\"filterTemplate\" nzPopoverPlacement=\"leftTop\" nzPopoverTrigger=\"click\">\r\n    <i nz-icon nzType=\"filter\" nzTheme=\"outline\"></i> 筛选\r\n    <ng-container *ngIf=\"filterConditionCount > 0\">/{{filterConditionCount}}</ng-container>\r\n  </div>\r\n  <ng-template #filterTemplate>\r\n    <div style=\"margin: -8px;\">\r\n      <div style=\"max-width: calc(80vw - 420px); min-width: 680px;\">\r\n        <div style=\"height: 78px; padding: 22px 0 16px 0;\">\r\n          <div style=\"display: flex; padding-left: 10px;\">\r\n            <span style=\"flex: 1 1 auto;\">\r\n              <b style=\"margin-right: 5px;\">过滤你的面板</b>\r\n              <ng-container *ngIf=\"boardData.boardData && boardData.boardData.pulses\">\r\n                <ng-container *ngIf=\"boardPulseData.length == boardData.boardData.pulses.length\">共 {{boardPulseData.length}} 条</ng-container>\r\n                <ng-container *ngIf=\"boardPulseData.length < boardData.boardData.pulses.length\">\r\n                  显示 {{boardData.boardData.pulses.length}}条 中的 {{boardPulseData.length}} 条\r\n                  <a style=\"padding-left: 16px;\" (click)=\"clearFilterCondition()\">清除</a>\r\n                </ng-container>\r\n              </ng-container>\r\n            </span>\r\n            <div style=\"flex: 1 1 auto; text-align: right;\">\r\n              <button nz-button nzSize=\"small\" style=\"margin-right: 10px;\" (click)=\"useLastCondition()\">使用上次的过滤条件</button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div style=\"max-width: calc(80vw - 420px); min-width: 680px; overflow-x: auto;\">\r\n        <div style=\"height: 320px; padding: 25px; display: flex; min-width: 480px;\" [style.width]=\"((filterData.columns.length + 1) * 130) + 'px'\">\r\n          <div style=\"width: 120px; margin-right: 10px;\">\r\n            <div class=\"filter-item-title\">分组</div>\r\n            <div>\r\n              <a class=\"filter-option\" [style.color]=\"group.color\" *ngFor=\"let group of filterData.groups; let i = index;\" (click)=\"chooseGroup(group, i)\">\r\n                <div class=\"filter-option-content\">\r\n                  {{group.name}}\r\n                </div>\r\n              </a>\r\n            </div>\r\n            <ng-container *ngIf=\"filterData.selectedGroups && filterData.selectedGroups.length > 0\">\r\n              <div>\r\n                已选择 {{filterData.selectedGroups.length}} 项\r\n              </div>\r\n              <div>\r\n                <a class=\"filter-option selected\" style=\"background-color: #d9f0ff;\" [style.color]=\"group.color\" *ngFor=\"let group of filterData.selectedGroups; let i = index;\" (click)=\"removeGroupFilter(group, i)\">\r\n                  <div class=\"filter-option-content\">\r\n                    {{group.name}}\r\n                  </div>\r\n                </a>\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n          <div *ngIf=\"groupLabels && groupLabels.length\" style=\"width: 120px; margin-right: 10px;\">\r\n            <div class=\"filter-item-title\">分组标签</div>\r\n            <div>\r\n              <a class=\"filter-option\" *ngFor=\"let label of filterData.groupLabels; let i = index;\" (click)=\"chooseGroupLabel(label, i)\">\r\n                <div class=\"filter-option-content\" style=\"color: #333;\">\r\n                  {{label.name}}\r\n                </div>\r\n              </a>\r\n            </div>\r\n            <ng-container *ngIf=\"filterData.selectedLabels && filterData.selectedLabels.length > 0\">\r\n              <div>\r\n                已选择 {{filterData.selectedLabels.length}} 项\r\n              </div>\r\n              <div>\r\n                <a class=\"filter-option selected\" *ngFor=\"let label of filterData.selectedLabels; let i = index;\" (click)=\"removeGroupLabelFilter(label, i)\">\r\n                  <div class=\"filter-option-content\">\r\n                    {{label.name}}\r\n                  </div>\r\n                </a>\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n          <div style=\"width: 120px; margin-right: 10px;\" *ngFor=\"let column of filterData.columns\">\r\n            <div class=\"filter-item-title\">{{column.name}}</div>\r\n            <div class=\"filter-item-content\" [style.max-height]=\"column.maxHeight\">\r\n              <a class=\"filter-option\" *ngFor=\"let value of column.columnValues; let i = index;\" (click)=\"chooseValue(column, value, i)\">\r\n                <div class=\"filter-option-content\" [style.display]=\"column.type == 'check'?'inline-block':''\" nz-tooltip\r\n                     nzTooltipTitle=\"{{value.title + (column.type == 'multiple-person'&& value.value ? '(' + value.value + ')' : '')}}\">\r\n                  <span *ngIf=\"value.color\" class=\"status-circle\" [style]=\"{'background-color': value.color, 'border-color': value.color}\"></span>\r\n                  <div style=\"color: #333;\" [style.text-align]=\"column.type == 'check'?'center':'left'\">\r\n                    {{value.title}}\r\n                    <ng-container *ngIf=\"column.type == 'multiple-person' && value.value\">({{value.value}})</ng-container>\r\n                  </div>\r\n                </div>\r\n                <div class=\"filter-option-counter\">\r\n                  {{value.count}}\r\n                </div>\r\n              </a>\r\n            </div>\r\n            <ng-container *ngIf=\"column.selectedValue && column.selectedValue.length > 0\">\r\n              <div>\r\n                已选择 {{column.selectedValue.length}} 项\r\n              </div>\r\n              <div class=\"filter-item-content\" [style.max-height]=\"column.valueMaxHeight\">\r\n                <a class=\"filter-option selected\" *ngFor=\"let value of column.selectedValue; let i = index;\" (click)=\"removeValue(column, value, i)\">\r\n                  <div class=\"filter-option-content\" nz-tooltip\r\n                       nzTooltipTitle=\"{{value.title + (column.type == 'multiple-person'&& value.value ? '(' + value.value + ')' : '')}}\">\r\n                    <span *ngIf=\"value.color\" class=\"status-circle\" [style]=\"{'background-color': value.color, 'border-color': value.color}\"></span>\r\n                    <div style=\"color: #333;\">\r\n                      {{value.title}}\r\n                      <ng-container *ngIf=\"column.type == 'multiple-person' && value.value\">({{value.value}})</ng-container>\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"filter-option-counter\">\r\n                    {{value.count}}\r\n                  </div>\r\n                </a>\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </ng-template>\r\n</div>\r\n<div class=\"board-content-component\">\r\n  <div class=\"board-content-wrapper\" [style.min-width.px]=\"boardWidth\">\r\n    <div class=\"board-content-items\" cdkDropList (cdkDropListDropped)=\"dropGroup($event)\">\r\n      <ng-container *ngFor=\"let group of boardGroupData; let i = index\">\r\n        <ng-container *ngIf=\"group.collapse === 'true'\">\r\n          <div class=\"group-header-wrapper group-header-collapse\" cdkDrag cdkDragLockAxis=\"y\">\r\n            <div class=\"group-header-component collapsed\" [style.min-width.px]=\"boardWidth + 67\">\r\n              <div (click)=\"openGroup(group.id)\" class=\"name-column-header col-identifier-name can-edit floating-column\">\r\n                <div class=\"group-menu\"></div>\r\n                <div class=\"column-header-inner\">\r\n                  <div class=\"set_slide_container slide_control\" style=\"position: sticky;left:30px;width:500px\">\r\n                    <div class=\"slide_hide_operate\">\r\n                      <i [style.color]=\"group.color\" nz-icon [nzIconfont]=\"'icon-zhankai'\"></i>\r\n                    </div>\r\n                    <span class=\"group-name slide_display_operate\" [style.color]=\"group.color\">{{group.title}} <em class=\"group-sub-name\">({{group.count}} 条任务)</em></span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"group.collapse === 'false'\">\r\n          <!-- 面板表头 begin -->\r\n          <div class=\"group-header-wrapper\" style=\"height:40px\" cdkDrag cdkDragLockAxis=\"y\">\r\n            <div class=\"group-header-component\" *ngIf=\"boardData.titleLock != 'true'\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"dropColumn($event)\">\r\n              <div class=\"group-menu\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"groupMenuTemplate\" [(nzPopoverVisible)]=\"group.menuPopVisible\">\r\n                <i [style.color]=\"group.color\" style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n              </div>\r\n              <ng-template #groupMenuTemplate>\r\n                <div class=\"add-column-menu\">\r\n                  <ul>\r\n                    <li (click)=\"collapseGroup(group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-shouqi'\"></i> 折叠当前</li>\r\n                    <li (click)=\"collapseAllGroup()\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-shouqi'\"></i> 折叠所有</li>\r\n                    <li (click)=\"unfoldAllGroup()\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-zhankai'\"></i> 展开所有</li>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.groupAuthority : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockAB\">\r\n                      <li nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"group['visible']\" (nzPopoverVisibleChange)=\"groupAuthorityChange(group.id, $event)\"\r\n                          [nzPopoverContent]=\"groupAuthorityTemp\" nzPopoverPlacement=\"rightTop\">\r\n                        <i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限\r\n                      </li>\r\n                      <ng-template #groupAuthorityTemp>\r\n                        <nz-tabset>\r\n                          <nz-tab nzTitle=\"编辑权限\">\r\n                            <div class=\"group-authority-content\">\r\n                              <div class=\"group-authority-content-switch\">\r\n                                <div class=\"description\">是否开启</div>\r\n                                <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.edit.status\"></nz-switch>\r\n                              </div>\r\n                              <div *ngIf=\"groupAuthority.edit.status\">\r\n                                <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.edit.members\" (getData)=\"getAuthorityMember(groupAuthority.edit, $event)\"></nf-member>\r\n                              </div>\r\n                            </div>\r\n                          </nz-tab>\r\n                          <nz-tab nzTitle=\"查看权限\">\r\n                            <div class=\"group-authority-content\">\r\n                              <div class=\"group-authority-content-switch\">\r\n                                <div class=\"description\">是否开启</div>\r\n                                <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.view.status\"></nz-switch>\r\n                              </div>\r\n                              <div *ngIf=\"groupAuthority.view.status\">\r\n                                <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.view.members\" (getData)=\"getAuthorityMember(groupAuthority.view, $event)\"></nf-member>\r\n                              </div>\r\n                            </div>\r\n                          </nz-tab>\r\n                        </nz-tabset>\r\n                        <div style=\"text-align: right;\">\r\n                          <button nz-button nzType=\"primary\" (click)=\"groupAuthorityConfirm(group)\">确定</button>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockAB>\r\n                      <li class=\"add-column-menu_disabled\"><i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限</li>\r\n                    </ng-template>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archiveGroup : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockAG\">\r\n                      <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archiveGroup(boardId, group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockAG>\r\n                      <li class=\"add-column-menu_disabled\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                    </ng-template>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupColor : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockEGC\">\r\n                      <li nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"changeGroupColorTemplate\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                    </ng-template>\r\n                    <li (click)=\"selectGroup(group)\"><i style=\"font-size:14px\" nz-icon nzType=\"check-circle\" nzTheme=\"outline\"></i> 选中本组</li>\r\n                    <li (click)=\"taskOrderViewChange(group.boardId, group.id, group)\"><i style=\"font-size:14px\" nz-icon nzType=\"ordered-list\" nzTheme=\"outline\"></i>\r\n                      <ng-container *ngIf=\"!taskOrderEnableVisible\">开启序号</ng-container>\r\n                      <ng-container *ngIf=\"taskOrderEnableVisible\">关闭序号</ng-container>\r\n                    </li>\r\n                    <ng-template #elseBlockEGC>\r\n                      <li class=\"add-column-menu_disabled\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                    </ng-template>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteGroup : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockDG\">\r\n                      <li nz-popconfirm [nzPopconfirmTitle]=\"group.pulses && group.pulses.length > 0 ? '当前分组下存在任务，删除分组会同时删除分组下的任务，是否确认删除?' : '是否确认删除?'\" (nzOnConfirm)=\"removeGroup(boardId, group.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockDG>\r\n                      <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                    </ng-template>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteGroup : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockZTF\">\r\n                      <li nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"templateSetLabel\" nzPopoverPlacement=\"rightTop\"><i style=\"font-size:14px\" nz-icon nzType=\"book\" nzTheme=\"outline\"></i>设置标签</li>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockZTF>\r\n                      <li class=\"add-column-menu_disabled\"><i style=\"font-size:14px\" nz-icon nzType=\"book\" nzTheme=\"outline\"></i>设置标签</li>\r\n                    </ng-template>\r\n                  </ul>\r\n                </div>\r\n              </ng-template>\r\n              <ng-template #templateSetLabel>\r\n                <ng-container>\r\n                  <div class=\"dropdown-template_content\">\r\n                    <div style=\"margin:10px 0\" *ngIf=\"group.label\">\r\n                      <ng-container *ngFor=\"let name of group.label.split(',')\">\r\n<!--                        <ng-container *ngFor=\"let name of col.split(',')\">-->\r\n                          <nz-tag\r\n                            [nzMode]=\"'closeable'\"\r\n                            (nzOnClose)=\"handleDropdownClose(group, name)\"\r\n                          >\r\n                            {{ sliceTagName(name) }}\r\n                          </nz-tag>\r\n\r\n<!--                        </ng-container>-->\r\n                      </ng-container>\r\n\r\n                    </div>\r\n                    <div class=\"dropdown-template_add-input\">\r\n                      <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\r\n                        <input\r\n                          nz-input\r\n                          placeholder=\"+ 新增标签\"\r\n                          type=\"text\"\r\n                          [(ngModel)]=\"dropdownInputValue\"\r\n                          (keydown.enter)=\"handleDropdownInputConfirm(group)\"\r\n                        />\r\n                      </nz-input-group>\r\n                      <ng-template #suffixIconButton>\r\n                        <button nz-button nzType=\"primary\" (click)=\"handleDropdownInputConfirm(group)\" nzSearch>确定</button>\r\n                      </ng-template>\r\n                    </div>\r\n                    <div class=\"dropdown-template_add-list\" style=\"margin-top:10px\">\r\n                      <ul class=\"dropdown-template_add-options\">\r\n                        <ng-container *ngIf=\"isDropdownOptionEdit\">\r\n                          <ng-container *ngFor=\"let option of groupLabels\">\r\n                            <li class=\"view-option\" (click)=\"handleDropdownOption(group, option)\" >\r\n                              <span>{{option}}</span>\r\n                            </li>\r\n                          </ng-container>\r\n                        </ng-container>\r\n                        <!--<ng-container *ngIf=\"!isDropdownOptionEdit\">\r\n                          <ng-container *ngFor=\"let option of groupLabels;let i = index\">\r\n                            <li class=\"edit-option\">\r\n                              <input nz-input [(ngModel)]=\"option\"/>\r\n                              <ng-container *ngIf=\"selectedValue.includes(option['id'])\">\r\n                                <span style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"选项已经使用，无法删除\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n                              </ng-container>\r\n                              <ng-container *ngIf=\"!selectedValue.includes(option['id'])\">\r\n                                <span (click)=\"doRemoveDropdownOption(i)\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n                              </ng-container>\r\n                            </li>\r\n                          </ng-container>\r\n                        </ng-container>-->\r\n                      </ul>\r\n                    </div>\r\n<!--                    <div *ngIf=\"isDropdownOptionEdit\" class=\"dropdown-template_edit-status\"  style=\"display: block;\">-->\r\n<!--                      <div>编辑</div>-->\r\n<!--                    </div>-->\r\n<!--                    <div *ngIf=\"!isDropdownOptionEdit\" class=\"dropdown-template_edit-status\" style=\"display: flex;\">-->\r\n<!--                      <div style=\"flex:1\" >提交</div>-->\r\n<!--                      <div style=\"flex:1\" >取消</div>-->\r\n<!--                    </div>-->\r\n                  </div>\r\n                </ng-container>\r\n              </ng-template>\r\n              <ng-template #changeGroupColorTemplate>\r\n                <div class=\"group-color-dialog\">\r\n                  <a *ngFor=\"let item of initGroupColor\" (click)=\"changeGroupColor(group.boardId, group.id, item)\" class=\"group-color-item\" [ngStyle]=\"{'background': item}\"></a>\r\n                </div>\r\n              </ng-template>\r\n              <ng-container *ngFor=\"let column of boardColumnData; let i = index;\">\r\n                <ng-container [ngSwitch]=\"column.type\">\r\n                  <div\r\n                    [ngClass]=\"{'cell-shadow': showColumnShadow}\"\r\n                    *ngSwitchCase=\"'name'\"\r\n                    class=\"column-resize name-column-header\"\r\n                    [style.flex-basis.px]=\"column.width\"\r\n                    [style.width.px]=\"column.width\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupName : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockEGN\">\r\n                        <span class=\"drag-handle\" cdkDragHandle>\r\n                          <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey;\" viewBox=\"0 0 24 24\">\r\n                            <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                            <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                          </svg>\r\n                        </span>\r\n                        <span class=\"set-editable\" style=\"width:99%\" [style.color]=\"group.color\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                          <ng-container *ngIf=\"group.label;else noLabel\">\r\n                            <span title=\"{{group.label}}\" class=\"group-title-tag\">{{group.label}}</span>\r\n                            <span style=\"margin-left:10px;margin-top:-2px;float:left\">|</span>\r\n                            <input nz-tooltip=\"{{group.title?group.title:''}}\" style=\"font-size:16px;text-align: left;margin-top:-5px;float:left;width: calc(100% - 120px);\" [style.color]=\"group.color\" (keyup.enter)=\"getGroupHeader(group.title, group.boardId, group.id, group.color)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"group.title\" (blur)=\"getGroupHeader(group.title, group.boardId, group.id, group.color)\" />\r\n                          </ng-container>\r\n                          <ng-template #noLabel>\r\n                            <input nz-tooltip=\"{{group.title?group.title:''}}\" style=\"font-size:16px;text-align: left;\" [style.color]=\"group.color\" (keyup.enter)=\"getGroupHeader(group.title, group.boardId, group.id, group.color)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"group.title\" (blur)=\"getGroupHeader(group.title, group.boardId, group.id, group.color)\" />\r\n                          </ng-template>\r\n                        </span>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockEGN>\r\n                        <span style=\"width:99%\" [style.color]=\"group.color\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                          <ng-container *ngIf=\"group.label;else noLabel\">\r\n                            <span title=\"{{group.label}}\" [style.border-color]=\"group.color\" class=\"group-title-tag\">{{group.label}}</span>\r\n                            <span style=\"float:left;margin-left:10px\">{{group.title}}</span>\r\n                          </ng-container>\r\n                          <ng-template #noLabel>\r\n                            {{group.title}}\r\n                          </ng-template>\r\n                        </span>\r\n                      </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 固定列-创建人 -->\r\n                  <div\r\n                    [ngClass]=\"{'cell-shadow': showColumnShadow}\"\r\n                    *ngSwitchCase=\"'creator'\"\r\n                    class=\"column-resize column-header text-header\"\r\n                    [style.flex-basis.px]=\"column.width\"\r\n                    [style.width.px]=\"column.width\"\r\n                    style=\"padding-top:0\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div class=\"create-time-header\">{{column.title}}</div>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 固定列-创建时间 -->\r\n                  <div\r\n                    [ngClass]=\"{'cell-shadow': showColumnShadow}\"\r\n                    *ngSwitchCase=\"'createTime'\"\r\n                    class=\"column-resize column-header text-header\"\r\n                    [style.flex-basis.px]=\"column.width\"\r\n                    [style.width.px]=\"column.width\"\r\n                    style=\"padding-top:0\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div class=\"create-time-header\">{{column.title}}</div>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 文本列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'text'\"\r\n                    class=\"column-header text-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCA>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECA>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 复选框 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'check'\"\r\n                    class=\"column-header text-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:120\"\r\n                    [style.width.px]=\"column.width?column.width:120\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCA>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECA>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 链接 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'link'\"\r\n                    class=\"column-header text-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCA>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECA>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 文件列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'file'\"\r\n                    class=\"column-header text-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCA>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECA>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: true }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 日期列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'date'\"\r\n                    class=\"column-header date-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li (click)=\"sortColumn(column, null, group)\" nz-menu-item>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"!column.sort\" nz-icon nzType=\"menu\" nzTheme=\"outline\"></i>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'asc'\" nz-icon nzType=\"sort-descending\" nzTheme=\"outline\"></i>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'desc'\" nz-icon nzType=\"sort-ascending\" nzTheme=\"outline\"></i>\r\n                          排序\r\n                        </li>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCB>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECB>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 日期时间 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'date-time'\"\r\n                    class=\"column-header date-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li (click)=\"sortColumn(column, null, group)\" nz-menu-item>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"!column.sort\" nz-icon nzType=\"menu\" nzTheme=\"outline\"></i>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'asc'\" nz-icon nzType=\"sort-descending\" nzTheme=\"outline\"></i>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'desc'\" nz-icon nzType=\"sort-ascending\" nzTheme=\"outline\"></i>\r\n                          排序\r\n                        </li>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCB>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECB>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 日期区间 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'time-interval'\"\r\n                    class=\"column-header date-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:270\"\r\n                    [style.width.px]=\"column.width?column.width:270\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCB>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECB>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 状态列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'status'\"\r\n                    class=\"column-header status-header  set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li (click)=\"sortColumn(column, null, group)\" nz-menu-item>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"!column.sort\" nz-icon nzType=\"menu\" nzTheme=\"outline\"></i>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'asc'\" nz-icon nzType=\"sort-descending\" nzTheme=\"outline\"></i>\r\n                          <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'desc'\" nz-icon nzType=\"sort-ascending\" nzTheme=\"outline\"></i>\r\n                          排序\r\n                        </li>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCC\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCC>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECC\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECC>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 拥有人列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'multiple-person'\"\r\n                    class=\"column-header multiple-person-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                          <li nz-menu-item (click)=\"batchSettingMember(column.id)\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量设置人员</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量设置人员</li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCD\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCD>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECD\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECD>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 进度列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'progress'\"\r\n                    class=\"column-header progress-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-item (click)=\"getCurrendColumn(column)\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"right\" [nzPopoverContent]=\"columnProgressConfigTemplate\">\r\n                          <i nz-icon [nzIconfont]=\"'icon-zidingyilie'\" style=\"font-size: 18px;\"></i> 列设置\r\n                        </li>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCE\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCE>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template #columnProgressConfigTemplate>\r\n                      <div class=\"column-progress-config\">\r\n                        <div class=\"column-progress-config__title\">进度设置</div>\r\n                        <div class=\"column-progress-config__subtitle\">选择影响进度的状态列</div>\r\n                        <div class=\"column-progress-config__list\">\r\n<!--                          <nz-radio-group style=\"width:100%\">-->\r\n<!--                            <ul>-->\r\n<!--                              <ng-container *ngFor=\"let item of this.boardColumnData\">-->\r\n<!--                                <li *ngIf=\"item.type === 'status'\">-->\r\n<!--                                  <div class=\"column-progress-config__list-left\">-->\r\n<!--                                    <label nz-radio nzValue=\"{{item.id}}\" [(ngModel)]=\"item.checked\">{{item.title}}</label>-->\r\n<!--                                  </div>-->\r\n<!--                                  <div class=\"column-progress-config__list-right\">-->\r\n<!--                                    <nz-input-group nzAddOnAfter=\"%\" nzSize=\"small\">-->\r\n<!--                                      <input class=\"column-progress-config__list-input\" type=\"text\" nz-input [(ngModel)]=\"item.value\" />-->\r\n<!--                                    </nz-input-group>-->\r\n<!--                                  </div>-->\r\n<!--                                </li>-->\r\n<!--                                <li *ngIf=\"item.type === 'time-interval'\">-->\r\n<!--                                  <div class=\"column-progress-config__list-left\">-->\r\n<!--                                    <label nz-radio nzValue=\"{{item.id}}\" [(ngModel)]=\"item.checked\">{{item.title}}</label>-->\r\n<!--                                  </div>-->\r\n<!--                                  <div class=\"column-progress-config__list-right\">-->\r\n<!--                                    <nz-input-group nzAddOnAfter=\"%\" nzSize=\"small\">-->\r\n<!--                                      <input class=\"column-progress-config__list-input\" type=\"text\" nz-input [(ngModel)]=\"item.value\" />-->\r\n<!--                                    </nz-input-group>-->\r\n<!--                                  </div>-->\r\n<!--                                </li>-->\r\n<!--                              </ng-container>-->\r\n<!--                            </ul>-->\r\n<!--                          </nz-radio-group>-->\r\n                          <nz-checkbox-wrapper (nzOnChange)=\"progressCheckboxChange($event)\" style=\"width:100%\">\r\n                            <ul>\r\n                              <ng-container *ngFor=\"let item of this.boardColumnData\">\r\n                                <li *ngIf=\"item.type === 'status'\">\r\n                                  <div class=\"column-progress-config__list-left\">\r\n                                    <label nz-checkbox nzValue=\"{{item.id}}\" (nzCheckedChange)=\"progressCheckedChange(item)\" [(ngModel)]=\"item.checked\">{{item.title}}</label>\r\n                                  </div>\r\n                                  <div class=\"column-progress-config__list-right\">\r\n                                    <nz-input-group nzAddOnAfter=\"%\" nzSize=\"small\">\r\n                                      <input class=\"column-progress-config__list-input\" [disabled]=\"!item.checked\" type=\"text\" nz-input [(ngModel)]=\"item.value\" />\r\n                                    </nz-input-group>\r\n                                  </div>\r\n                                </li>\r\n                                <li *ngIf=\"item.type === 'time-interval'\">\r\n                                  <div class=\"column-progress-config__list-left\">\r\n                                    <label nz-checkbox nzValue=\"{{item.id}}\" (nzCheckedChange)=\"progressCheckedChange(item)\" [(ngModel)]=\"item.checked\">{{item.title}}</label>\r\n                                  </div>\r\n                                  <div class=\"column-progress-config__list-right\">\r\n                                    <nz-input-group nzAddOnAfter=\"%\" nzSize=\"small\">\r\n                                      <input class=\"column-progress-config__list-input\" [disabled]=\"!item.checked\" type=\"text\" nz-input [(ngModel)]=\"item.value\" />\r\n                                    </nz-input-group>\r\n                                  </div>\r\n                                </li>\r\n                              </ng-container>\r\n                            </ul>\r\n                          </nz-checkbox-wrapper>\r\n                          <nz-divider style=\"margin-top:5px\"></nz-divider>\r\n                          <div class=\"column-progress-config__save\">\r\n                            <button [disabled]=\"progressSubmitState\" (click)=\"submitProgressConfig()\" nzSize=\"small\" nz-button nzType=\"primary\">保存</button>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECE\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECE>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 下拉列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'dropdown'\"\r\n                    class=\"column-header dropdown-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCF\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCF>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECF\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECF>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 选择器列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'select'\"\r\n                    class=\"column-header dropdown-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCG\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCG>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECG\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECG>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 按钮列 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'button'\"\r\n                    class=\"column-header dropdown-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-item nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"right\" [nzPopoverContent]=\"columnButtonConfigTemplate\"><i nz-icon [nzIconfont]=\"'icon-zidingyilie'\"></i> 列设置</li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCH\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCH>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template #columnButtonConfigTemplate>\r\n                      <div class=\"column-progress-config\">\r\n                        <div class=\"column-progress-config__title\">设置</div>\r\n                        <div class=\"column-progress-config__subtitle\">选择可以关联{{column.title}}的列 <i nz-tooltip nzTooltipTitle=\"获取关联列的按钮配置\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i></div>\r\n                        <div class=\"column-progress-config__list\">\r\n                          <nz-select (ngModelChange)=\"buttonRelationChange($event, column)\" style=\"width:100%\" nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" [(ngModel)]=\"column.config.relation\">\r\n                            <nz-option nzLabel=\"不关联\" nzValue=\"0\"></nz-option>\r\n                            <ng-container *ngFor=\"let item of this.boardColumnData\">\r\n                              <ng-container *ngIf=\"item.type == 'select'\">\r\n                                <nz-option [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n                              </ng-container>\r\n                            </ng-container>\r\n                          </nz-select>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECH\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECH>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 关联数据 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'relation-data'\"\r\n                    class=\"column-header date-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\">\r\n                                <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\">\r\n                                <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockAE\">\r\n                          <li nz-menu-item nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"relaBoardTemp\" nzPopoverPlacement=\"leftTop\">\r\n                            <i style=\"font-size:19px;vertical-align: middle;\" nz-icon [nzIconfont]=\"'icon-fenlan'\"></i> 关联面板\r\n                          </li>\r\n                          <ng-template #relaBoardTemp>\r\n                            <ul nz-menu class=\"relation-board\">\r\n                              <li nz-menu-item *ngFor=\"let item of boardList\" [ngClass]=\"(column.configs && column.configs.relationData && column.configs.relationData.boardId\r\n                                    && column.configs.relationData.boardId == item.id)?'selected':''\">\r\n                                <ng-container *ngIf=\"column.configs && column.configs.relationData && column.configs.relationData.boardId\r\n                                    && column.configs.relationData.boardId == item.id\">\r\n                                  <a>{{item.name}}</a>\r\n                                </ng-container>\r\n                                <ng-container *ngIf=\"!(column.configs && column.configs.relationData && column.configs.relationData.boardId\r\n                                    && column.configs.relationData.boardId == item.id)\">\r\n                                  <a nz-popconfirm nzPopconfirmTitle=\"切换面板会清除之前关联的数据，是否确认?\" nzPopconfirmTrigger=\"click\"\r\n                                     nzOkText=\"确认\" nzCancelText=\"取消\" (nzOnConfirm)=\"columnSetting(column, item.id)\">\r\n                                    {{item.name}}\r\n                                  </a>\r\n                                </ng-container>\r\n                              </li>\r\n                            </ul>\r\n                          </ng-template>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockAE>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-fenlan'\"></i>\r\n                            关联面板\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCB>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECB>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 投票 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\"\r\n                    *ngSwitchCase=\"'vote'\"\r\n                    class=\"column-header date-header set-header-slide\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (column.id + group.id)}\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                    mwlResizable\r\n                    [validateResize]=\"validate\"\r\n                    [enableGhostResize]=\"true\"\r\n                    [resizeSnapGrid]=\"{ left: 50, right: 50 }\"\r\n                    (resizing)=\"onResizing($event, column)\"\r\n                  >\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                          <li nz-submenu [nzTitle]=\"dmt\">\r\n                            <ul *ngIf=\"!column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                              <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                            </ul>\r\n                            <ul *ngIf=\"column.permissionType\">\r\n                              <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                取消限制</li>\r\n                              <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                              </li>\r\n                            </ul>\r\n                            <ng-template #dmt>\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </ng-template>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSPA>\r\n                          <li nz-menu-item style=\"color:#ccc\">\r\n                            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            列权限\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                          <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockSE>\r\n                          <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                            <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                            <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                          </li>\r\n                        </ng-template>\r\n                        <li nz-menu-divider></li>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCB>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <ng-template\r\n                      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n                      <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <span class=\"moving-op-area\">\r\n                          <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                        </span>\r\n                        <input (keyup.enter)=\"getColumnHeader(column.title, group.boardId, column.id)\" class=\"editable-input\" type=\"text\" nz-input [(ngModel)]=\"column.title\" (blur)=\"getColumnHeader(column.title, group.boardId, column.id)\" />\r\n                      </span>\r\n                    </ng-template>\r\n                    <ng-template #elseBlockECB>\r\n                      <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        {{column.title}}\r\n                      </span>\r\n                    </ng-template>\r\n                    <div\r\n                      class=\"resize-handle-right\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ right: true }\"\r\n                    ></div>\r\n                    <div\r\n                      class=\"resize-handle-left\"\r\n                      mwlResizeHandle\r\n                      [resizeEdges]=\"{ left: canColumnDrag }\"\r\n                    ></div>\r\n                  </div>\r\n                  <!-- 最后更新 -->\r\n                  <div cdkDrag cdkDragLockAxis=\"x\" *ngSwitchCase=\"'last-updated'\"\r\n                    class=\"column-header date-header set-header-slide\"\r\n                    [style.width.px]=\"166\">\r\n                    <div\r\n                      (click)=\"clickCurrentColumn(column.id, group.id)\"\r\n                      nz-dropdown\r\n                      nzTrigger=\"click\"\r\n                      [nzDropdownMenu]=\"menu\"\r\n                      class=\"icon\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n                    </div>\r\n                    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                      <ul nz-menu style=\"min-width:150px\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n                          <li (click)=\"removeColumn(group.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDCB>\r\n                          <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </nz-dropdown-menu>\r\n                    <span class=\"set-editable\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      <span class=\"moving-op-area\">\r\n                        <span class=\"move-button\" cdkDragHandle [style.left]=\"column.permissionType === 'lock' || column.permissionType === 'hide'? '20px':''\">\r\n                            <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey; margin-top: 5px;\" viewBox=\"0 0 24 24\">\r\n                              <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                              <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                            </svg>\r\n                          </span>\r\n                      </span>\r\n                      <input readonly class=\"editable-input\" type=\"text\" nz-input [ngModel]=\"column.title\"/>\r\n                    </span>\r\n                  </div>\r\n                </ng-container>\r\n              </ng-container>\r\n              <div class=\"add-column-container\">\r\n                <ng-template\r\n                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addColumn : ''\"\r\n                  [ngxPermissionsOnlyElse]=\"elseBlockAC\">\r\n                  <div class=\"add-column-button\" nz-popover [nzPopoverContent]=\"addColumnTemplate\" nzPopoverPlacement=\"bottomRight\"><i nz-icon [nzIconfont]=\"'icon-zengjia'\"></i></div>\r\n                </ng-template>\r\n                <ng-template #elseBlockAC>\r\n                  <div class=\"add-column-button\"><i style=\"color:#ccc;cursor:default;\" nz-icon [nzIconfont]=\"'icon-zengjia'\"></i></div>\r\n                </ng-template>\r\n                <ng-template #addColumnTemplate>\r\n                  <div class=\"add-column-menu\" *ngIf=\"taskSystemParameter && taskSystemParameter.commonColumn\">\r\n                    <ul>\r\n                      <ng-container *ngFor=\"let item of taskSystemParameter.commonColumn\">\r\n                        <li (click)=\"addColumnFun(group.boardId, item.code)\">\r\n                          <i style=\"font-size: 15px; margin-left: 4px;\" nz-icon [nzType]=\"item.icon\"></i>{{item.title}}\r\n                        </li>\r\n                      </ng-container>\r\n                    </ul>\r\n                  </div>\r\n                </ng-template>\r\n              </div>\r\n            </div>\r\n            <div class=\"group-header-component\" *ngIf=\"boardData.titleLock == 'true'\">\r\n              <div class=\"group-menu\">\r\n                <i [style.color]=\"group.color\" style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i>\r\n              </div>\r\n              <ng-container *ngFor=\"let column of boardColumnData; let i = index;\">\r\n                <ng-container [ngSwitch]=\"column.type\">\r\n                  <div\r\n                    [ngClass]=\"{'cell-shadow': showColumnShadow}\"\r\n                    *ngSwitchCase=\"'name'\"\r\n                    class=\"column-resize name-column-header\"\r\n                    [style.flex-basis.px]=\"column.width\"\r\n                    [style.width.px]=\"column.width\"\r\n                  >\r\n                    <span class=\"drag-handle\">\r\n                      <svg width=\"20px\" fill=\"currentColor\" style=\"color: lightgrey;\" viewBox=\"0 0 24 24\">\r\n                        <path d=\"M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z\"></path>\r\n                        <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n                      </svg>\r\n                    </span>\r\n                    <span style=\"width:99%\" [style.color]=\"group.color\" [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      {{group.title}} <i class=\"column-title-lock\" nz-tooltip=\"列标题已锁定，请联系版主修改\" nz-icon nzType=\"lock\"></i>\r\n                    </span>\r\n                  </div>\r\n                  <!-- 固定列-创建人 -->\r\n                  <div\r\n                    [ngClass]=\"{'cell-shadow': showColumnShadow}\"\r\n                    *ngSwitchCase=\"'creator'\"\r\n                    class=\"column-resize column-header text-header\"\r\n                    [style.flex-basis.px]=\"column.width\"\r\n                    [style.width.px]=\"column.width\"\r\n                    style=\"padding-top:0\"\r\n                  >\r\n                    <div class=\"create-time-header\">{{column.title}}</div>\r\n                  </div>\r\n                  <!-- 固定列-创建时间 -->\r\n                  <div\r\n                    [ngClass]=\"{'cell-shadow': showColumnShadow}\"\r\n                    *ngSwitchCase=\"'createTime'\"\r\n                    class=\"column-resize column-header text-header\"\r\n                    [style.flex-basis.px]=\"column.width\"\r\n                    [style.width.px]=\"column.width\"\r\n                    style=\"padding-top:0\"\r\n                  >\r\n                    <div class=\"create-time-header\">{{column.title}}</div>\r\n                  </div>\r\n                  <!-- 日期列 -->\r\n                  <div *ngSwitchCase=\"'date'\" class=\"column-header\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                  >\r\n                    <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      {{column.title}}<i class=\"column-title-lock\" nz-tooltip=\"列标题已锁定，请联系版主修改\" nz-icon nzType=\"lock\"></i>\r\n                    </span>\r\n                  </div>\r\n                  <!-- 日期时间列 -->\r\n                  <div *ngSwitchCase=\"'date-time'\" class=\"column-header\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                  >\r\n                    <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      {{column.title}}<i class=\"column-title-lock\" nz-tooltip=\"列标题已锁定，请联系版主修改\" nz-icon nzType=\"lock\"></i>\r\n                    </span>\r\n                  </div>\r\n                  <!-- 日期区间 -->\r\n                  <div\r\n                    *ngSwitchCase=\"'time-interval'\"\r\n                    class=\"column-header\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:270\"\r\n                    [style.width.px]=\"column.width?column.width:270\"\r\n                  >\r\n                    <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      {{column.title}}<i class=\"column-title-lock\" nz-tooltip=\"列标题已锁定，请联系版主修改\" nz-icon nzType=\"lock\"></i>\r\n                    </span>\r\n                  </div>\r\n                  <!-- 复选 -->\r\n                  <div\r\n                    *ngSwitchCase=\"'check'\"\r\n                    class=\"column-header\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:120\"\r\n                    [style.width.px]=\"column.width?column.width:120\"\r\n                  >\r\n                    <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      {{column.title}}<i class=\"column-title-lock\" nz-tooltip=\"列标题已锁定，请联系版主修改\" nz-icon nzType=\"lock\"></i>\r\n                    </span>\r\n                  </div>\r\n                  <!-- 其他列 -->\r\n                  <div\r\n                    *ngSwitchDefault\r\n                    class=\"column-header\"\r\n                    [style.flex-basis.px]=\"column.width?column.width:166\"\r\n                    [style.width.px]=\"column.width?column.width:166\"\r\n                  >\r\n                    <span [ngClass]=\"{'nodata-header': !column.title}\">\r\n                      {{column.title}}<i class=\"column-title-lock\" nz-tooltip=\"列标题已锁定，请联系版主修改\" nz-icon nzType=\"lock\"></i>\r\n                    </span>\r\n                  </div>\r\n                </ng-container>\r\n              </ng-container>\r\n              <div class=\"add-column-container\">\r\n                <div class=\"add-column-button\"><i style=\"color:#ccc;cursor:default;\" nz-icon [nzIconfont]=\"'icon-zengjia'\"></i></div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 面板表头 end -->\r\n          <!-- 面板行 begin -->\r\n          <ng-container *ngIf=\"group.pulses\">\r\n            <ng-container *ngFor=\"let pulse of group.pulses;let j=index\">\r\n              <div *ngIf=\"group.id === pulse.groupId\" class=\"pulse-component-wrapper\" style=\"height: 36px;\">\r\n                <div [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == pulse.id}\" class=\"pulse-component can-edit\">\r\n                  <!-- 行图标 begin -->\r\n                  <div (click)=\"clickCurrentPulse(pulse.id)\" class=\"pulse-menu-component\" style=\"position:sticky;left:0\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomRight\" [nzPopoverContent]=\"pulseMenuTemplate\">\r\n                    <span class=\"pulse-menu-component__blank\">&nbsp;</span>\r\n                    <span class=\"pulse-menu-component__icon\"><i nz-icon [nzIconfont]=\"'icon-xialatianchong'\"></i></span>\r\n                  </div>\r\n                  <ng-template #pulseMenuTemplate>\r\n                    <div class=\"add-column-menu\">\r\n                      <ul>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockAP\">\r\n                          <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archivePulse(pulse.id, group.id)\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockAP>\r\n                          <li class=\"add-column-menu_disabled\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDP\">\r\n                          <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removePulse(pulse.id, group.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除行</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDP>\r\n                          <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除行</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </div>\r\n                  </ng-template>\r\n                  <!-- 行图标 end -->\r\n                  <ng-container *ngFor=\"let column of boardColumnData\">\r\n                    <ng-container [ngSwitch]=\"column.type\">\r\n                      <!-- 行name组件 -->\r\n                      <div *ngSwitchCase=\"'name'\" [ngClass]=\"{'cell-shadow': showColumnShadow}\" class=\"cell-component name-cell\" [style.flex-basis.px]=\"column.width?column.width:517\" [style.width.px]=\"column.width?column.width:517\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.viewPost : ''\">\r\n                          <div (click)=\"openDialog(group.boardId, column, pulse)\" class=\"posts-indicator-component\" nz-tooltip nzTooltipTitle=\"开始对话\">\r\n                            <div class=\"conversation-indicator-icon\">\r\n                              <ng-container *ngIf=\"!(pulse.updatesCount === 0)\">\r\n                                <i nz-icon [nzIconfont]=\"'icon-message'\" style=\"color:#009AFF\"></i>\r\n                                <span class=\"updates-count\">{{pulse.updatesCount}}</span>\r\n                              </ng-container>\r\n                              <ng-container *ngIf=\"pulse.updatesCount == 0\">\r\n                                <i nz-icon [nzIconfont]=\"'icon-message'\"></i>\r\n                              </ng-container>\r\n                            </div>\r\n                          </div>\r\n                        </ng-template>\r\n                        <div class=\"pulse-left-indicator left-slide\">\r\n                          <div class=\"checkbox\" [style.background-color]=\"group.color\" [ngClass]=\"{'box-checked':pulseCheckedId.length > 0}\">\r\n                            <label nz-checkbox [(ngModel)]=\"pulse.isDelete\" (ngModelChange)=\"updatePulseChecked($event, pulse.id)\"></label>\r\n                          </div>\r\n                          <span [ngClass]=\"{'box-text-checked':pulseCheckedId.length > 0}\" [ngClass]=\"{'nodata-pulse': !pulse.columnValues[column.id]}\">\r\n                            <i *ngIf=\"taskOrderEnableVisible\" class=\"pulse-order\">{{j+1}}</i>\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockP0\">\r\n                              <input [ngClass]=\"{'box-text-checked':pulseCheckedId.length > 0}\"\r\n                                     [style.margin-left]=\"taskOrderEnableVisible?'35px':'10px'\"\r\n                                     (keyup.enter)=\"getColumnName(pulse.id, pulse.columnValues[column.id], column.id)\"\r\n                                     class=\"editable-input\" type=\"text\" nzSize=\"small\" nz-input\r\n                                     nz-tooltip=\"{{pulse.columnValues[column.id] && pulse.columnValues[column.id].length > ((column.width||517) - 70)/13 ?pulse.columnValues[column.id]:''}}\"\r\n                                     [(ngModel)]=\"pulse.columnValues[column.id]\"\r\n                                     (blur)=\"getColumnName(pulse.id, pulse.columnValues[column.id], column.id)\" />\r\n                            </ng-template>\r\n                            <ng-template #elseBlockP0>\r\n                              <span style=\"cursor: default;padding-left:50px\">\r\n                                {{pulse.columnValues[column.id]}}\r\n                              </span>\r\n                            </ng-template>\r\n                        </span>\r\n                        </div>\r\n                      </div>\r\n                      <!-- 固定列创建人 -->\r\n                      <div *ngSwitchCase=\"'creator'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:200\">\r\n                        {{pulse.creator}}\r\n                      </div>\r\n                      <!-- 固定列创建时间 -->\r\n                      <div *ngSwitchCase=\"'createTime'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:200\">\r\n                        {{pulse.createdAt | date: 'yyyy-MM-dd HH:mm'}}\r\n                      </div>\r\n                      <!-- 链接 -->\r\n                      <div *ngSwitchCase=\"'link'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:200\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                          <nf-link [nfBoardData]=\"boardData\" [pulse]=\"pulse\" [column]=\"column\" [columnValue]=\"pulse.columnValues[column.id]\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-link>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <nf-link [nfBoardData]=\"boardData\" [pulse]=\"pulse\" [column]=\"column\" [columnValue]=\"pulse.columnValues[column.id]\" [disabled]=\"true\"></nf-link>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 关联数据 -->\r\n                      <div *ngSwitchCase=\"'relation-data'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:200\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                          <nf-relation-data [configs]=\"column.configs\" [(nfData)]=\"pulse.columnValues[column.id]\" [width]=\"column.width\" (nfDataChange)=\"getRelationData(pulse.id, column.id, $event)\"></nf-relation-data>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <nf-relation-data [configs]=\"column.configs\" [(nfData)]=\"pulse.columnValues[column.id]\" [width]=\"column.width\" [disabled]=\"true\"></nf-relation-data>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 投票 -->\r\n                      <div *ngSwitchCase=\"'vote'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:120\" [style.width.px]=\"column.width?column.width:120\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockAD\">\r\n                          <nf-vote [currentUser]=\"currentUser\" [nfData]=\"pulse.columnValues[column.id]\" (getData)=\"getVoteData(pulse, column.id, $event)\"></nf-vote>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockAD>\r\n                          <nf-vote [currentUser]=\"currentUser\" [nfData]=\"pulse.columnValues[column.id]\" [disabled]=\"true\"></nf-vote>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 最后更新 -->\r\n                      <div *ngSwitchCase=\"'last-updated'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <nf-last-updated [pulseId]=\"pulse.id\"></nf-last-updated>\r\n                      </div>\r\n                      <!-- 文本组件 -->\r\n                      <div *ngSwitchCase=\"'text'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:200\" [style.width.px]=\"column.width?column.width:200\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                          <textarea style=\"margin-top: 0;\" rows=\"1\"\r\n                            class=\"editable-input\"\r\n                            type=\"text\"\r\n                            nzSize=\"small\"\r\n                            nz-input\r\n                            [(ngModel)]=\"pulse.columnValues[column.id]\"\r\n                            nz-popover\r\n                            [nzPopoverContent]=\"textContentTemplate\"\r\n                            nzPopoverPlacement=\"rightTop\"\r\n                            (blur)=\"getColumnText(pulse, column, pulse.columnValues[column.id])\"></textarea>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <span style=\"cursor: default\" nz-popover [nzPopoverContent]=\"textContentTemplate\" nzPopoverPlacement=\"bottomLeft\">\r\n                            {{pulse.columnValues[column.id]}}\r\n                          </span>\r\n                        </ng-template>\r\n                        <ng-template #textContentTemplate>\r\n                          <div style=\"max-width:500px;min-width: 20px; word-break: break-all;\">\r\n                            <pre style=\"white-space: pre-wrap; max-height: 500px;\">{{pulse.columnValues[column.id]}}</pre>\r\n                          </div>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 复选 -->\r\n                      <div *ngSwitchCase=\"'check'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:120\" [style.width.px]=\"column.width?column.width:120\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                          <div style=\"width: 60px; display: inline-block; height: 100%; text-align: center;\" (click)=\"getCheck(pulse, column.id)\">\r\n                            <i *ngIf=\"pulse.columnValues[column.id] == 'true'\" style=\"color: rgb(0, 202, 114); font-size: 18px; transform: scaleX(1.2);\" nz-icon nzType=\"check\" nzTheme=\"outline\"></i>\r\n                          </div>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <span style=\"cursor: default\">\r\n                            <i *ngIf=\"pulse.columnValues[column.id] == 'true'\" style=\"color: rgb(0, 202, 114); font-size: 18px; transform: scaleX(1.2);\" nz-icon nzType=\"check\" nzTheme=\"outline\"></i>\r\n                          </span>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 文件组件 -->\r\n                      <div *ngSwitchCase=\"'file'\" class=\"cell-component text-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:200\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                          <nf-file [nfBoardData]=\"boardData\" [pulse]=\"pulse\" [column]=\"column\" [columnValue]=\"pulse.columnValues[column.id]\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-file>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <nf-file [nfBoardData]=\"boardData\" [pulse]=\"pulse\" [column]=\"column\" [columnValue]=\"pulse.columnValues[column.id]\" [disabled]=\"true\"></nf-file>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 日期组件 -->\r\n                      <div *ngSwitchCase=\"'date'\" class=\"cell-component date-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <ng-container *ngIf=\"pulse.columnValues[column.id]\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                            <nz-date-picker class=\"date-editable\" style=\"width: 100%; min-height: 32px;\" nzSize=\"small\" [(ngModel)]=\"pulse.columnValues[column.id].date\" (ngModelChange)=\"getColumnDate(pulse.id, column.id, $event)\"></nz-date-picker>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockPB>\r\n                            <nz-date-picker nzDisabled class=\"date-editable\" style=\"width: 100%; min-height: 32px;\" nzSize=\"small\" [(ngModel)]=\"pulse.columnValues[column.id].date\" (ngModelChange)=\"getColumnDate(pulse.id, column.id, $event)\"></nz-date-picker>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                      </div>\r\n                      <!-- 日期区间 -->\r\n                      <div *ngSwitchCase=\"'time-interval'\" class=\"cell-component date-cell\" [style.flex-basis.px]=\"column.width?column.width:270\" [style.width.px]=\"column.width?column.width:270\">\r\n                        <ng-container *ngIf=\"pulse.columnValues[column.id]\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                            <nz-range-picker class=\"date-editable\" style=\"min-height: 32px;\" nzSize=\"small\" [nzShowTime]=\"false\" nzFormat=\"yyyy-MM-dd\"\r\n                               [(ngModel)]=\"pulse.columnValues[column.id].date\" (ngModelChange)=\"getTimeInterval(pulse.id, column.id, $event)\"></nz-range-picker>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockPB>\r\n                            <nz-range-picker nzDisabled class=\"date-editable\" style=\"min-height: 32px;\" nzSize=\"small\" [nzShowTime]=\"false\" nzFormat=\"yyyy-MM-dd\"\r\n                               [(ngModel)]=\"pulse.columnValues[column.id].date\"></nz-range-picker>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                      </div>\r\n                      <!-- 日期时间组件 -->\r\n                      <div *ngSwitchCase=\"'date-time'\" class=\"cell-component date-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <ng-container *ngIf=\"pulse.columnValues[column.id]\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                            <nf-date-time class=\"date-editable\" [(ngModel)]=\"pulse.columnValues[column.id]\" (ngModelChange)=\"getColumnDateTime(pulse.id, column.id, $event)\"></nf-date-time>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockPB>\r\n                            <nf-date-time class=\"date-editable\" [disabled]=\"true\" [(ngModel)]=\"pulse.columnValues[column.id]\"></nf-date-time>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                      </div>\r\n                      <!-- 状态组件 -->\r\n                      <div *ngSwitchCase=\"'status'\" class=\"cell-component status-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPC\">\r\n                          <nf-status [nfBoardData]=\"boardData\" [nfGroupData]=\"group\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-status>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPC>\r\n                          <nf-status [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfGroupData]=\"group\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-status>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 人员组件 -->\r\n                      <div *ngSwitchCase=\"'multiple-person'\" class=\"cell-component multiple-person-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPD\">\r\n                          <nf-multiple-person [nfBoardData]=\"boardData\" [nfGroupData]=\"group\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-multiple-person>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPD>\r\n                          <nf-multiple-person [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfGroupData]=\"group\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-multiple-person>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 进度组件 -->\r\n                      <div *ngSwitchCase=\"'progress'\" class=\"cell-component progress-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <div class=\"progress-container\">\r\n                          <nz-progress [nzPercent]=\"pulse.columnValues[column.id]\" nzStatus=\"active\"></nz-progress>\r\n                        </div>\r\n                      </div>\r\n                      <!-- 下拉组件 -->\r\n                      <div *ngSwitchCase=\"'dropdown'\" class=\"cell-component dropdown-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPE\">\r\n                          <nf-dropdown [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-dropdown>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPE>\r\n                          <nf-dropdown [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-dropdown>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 选择器组件 -->\r\n                      <div *ngSwitchCase=\"'select'\" class=\"cell-component select-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPF\">\r\n                          <nf-select [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-select>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPF>\r\n                          <nf-select [isDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-select>\r\n                        </ng-template>\r\n                      </div>\r\n                      <!-- 按钮组件 -->\r\n                      <div *ngSwitchCase=\"'button'\" class=\"cell-component button-cell\" [style.flex-basis.px]=\"column.width?column.width:166\" [style.width.px]=\"column.width?column.width:166\">\r\n                        <!-- 0 不关联 -->\r\n                        <ng-container *ngIf=\"column.config && column.config.relation === '0'\">\r\n                          <ng-container *ngFor=\"let list of column.config.original\">\r\n                            <button (click)=\"buttonCustomClick(column, pulse)\" [nzLoading]=\"clickButtonLoading\" *ngIf=\"pulse.columnValues[column.id] && list.id == pulse.columnValues[column.id].original\" [nzSize]=\"'small'\" nz-button [nzType]=\"list.type\" [disabled]=\"!list.usable\">{{list.title}}</button>\r\n                          </ng-container>\r\n                          <ng-template [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\">\r\n                            <span\r\n                                class=\"button-pulse-config-icon\"\r\n                                nz-popover\r\n                                nzPopoverTrigger=\"click\"\r\n                                nzPopoverPlacement=\"leftBottom\"\r\n                                (click)=\"openButtonConfig(pulse.id, column)\"\r\n                                [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == pulse.id}\"\r\n                                [nzPopoverContent]=\"buttonTemplate\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-peizhi'\"></i>\r\n                            </span>\r\n                          </ng-template>\r\n                          <ng-template #buttonTemplate>\r\n                            <div class=\"button-config-wrapper\">\r\n                              <div class=\"button-config_select\">\r\n                                <div class=\"button-config_select-radio\" *ngIf=\"buttonConfigStatus\">\r\n                                  <div class=\"button-config_select-title\">选择显示的按钮：</div>\r\n                                  <nz-radio-group (ngModelChange)=\"buttonSelectChange($event, pulse.id, column)\" [(ngModel)]=\"pulse.columnValues[column.id].original\" style=\"width:100%\">\r\n                                    <label style=\"width:100%;margin-bottom:5px\" *ngFor=\"let item of column.config.original\" nz-radio [nzValue]=\"item.id\">\r\n                                      {{item.title}}\r\n                                      <span class=\"button-config_select-radio-edit\">\r\n                                        <i (click)=\"editButtonConfig(item)\" nz-tooltip nzTooltipTitle=\"编辑\" nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                                      </span>\r\n                                      <span class=\"button-config_select-radio-remove\">\r\n                                        <ng-container *ngIf=\"item.notRemove\">\r\n                                          <i style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"按钮已经使用，无法删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                        </ng-container>\r\n                                        <ng-container *ngIf=\"!item.notRemove\">\r\n                                          <i (click)=\"removeButtonConfig(item.id, column)\" nz-tooltip nzTooltipTitle=\"删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                        </ng-container>\r\n                                      </span>\r\n                                    </label>\r\n                                  </nz-radio-group>\r\n                                </div>\r\n                                <div class=\"button-config_select-add\" *ngIf=\"!buttonConfigStatus\">\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigTitle\">按钮名称：</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigTitle\" />\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否可用：</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <nz-switch (ngModelChange)=\"buttonConfigChange($event)\" [ngModel]=\"buttonConfigDisabled\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigUrl\">请求地址：</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigUrl\" />\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否外部地址</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <nz-switch [(ngModel)]=\"isExternalUrl\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                </div>\r\n                                <div style=\"margin:10px 0 5px 0;\"><nz-divider></nz-divider></div>\r\n                                <div class=\"button-config_edit-status\" (click)=\"buttonConfigAdd()\" *ngIf=\"buttonConfigStatus\"><div>新增</div></div>\r\n                                <div class=\"button-config_edit-status\" (click)=\"buttonConfigSubmit(buttonConfigEditStatus?'edit':'add', column)\" *ngIf=\"!buttonConfigStatus\"><div>提交</div></div>\r\n                              </div>\r\n                            </div>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                        <!-- 关联 -->\r\n                        <ng-container *ngIf=\"column.config && column.config.relation !== '0'\">\r\n                          <ng-container *ngFor=\"let col of boardColumnData\">\r\n                            <ng-container *ngIf=\"col.id == column.config.relation\">\r\n                              <ng-container *ngFor=\"let option of col.config.button\">\r\n                                <button *ngIf=\"option.id == pulse.columnValues[column.config.relation].button\" [nzSize]=\"'small'\" nz-button [nzType]=\"option.type\" [disabled]=\"!option['usable']\" (click)=\"buttonRelationClick(option.url, pulse.id)\">{{option.title}}</button>\r\n                              </ng-container>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </ng-container>\r\n                      </div>\r\n                    </ng-container>\r\n                  </ng-container>\r\n                  <div class=\"pulse-right-indicator\"></div>\r\n                </div>\r\n              </div>\r\n            </ng-container>\r\n          </ng-container>\r\n          <!-- 面板行 end -->\r\n          <!-- 面板分组底部 begin -->\r\n          <div class=\"group-footer-wrapper\" style=\"height:76px\">\r\n            <div class=\"group-footer-component\">\r\n              <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addPulse : ''\">\r\n                <div class=\"add-pulse-component\" [style.min-width.px]=\"boardWidth + 69\">\r\n                  <div class=\"add-pulse-left-indicator\" [style.background]=\"group.color\" style=\"left: 30px;position: sticky;z-index: 99;\"></div>\r\n                  <ng-container *ngFor=\"let column of boardColumnData;\">\r\n                    <div class=\"add-pulse-left-button\" *ngIf=\"column.type === 'name'\" [style.flex-basis.px]=\"column.width - 8\" [style.width.px]=\"column.width - 8\" style=\"left: 38px;position: sticky;z-index: 99;\">\r\n                      <div *ngIf=\"editNameId !== 'add' + group.id + column.id; else editAddPulseTpl\" class=\"set-addpulse\" (click)=\"changeAddPulseEditable(group.id, column.id, $event, 'addPulseInput')\"><i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i></div>\r\n                      <ng-template #editAddPulseTpl>\r\n                        <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\r\n                          <input #addPulseInput [(ngModel)]=\"addPulseNameValue\" (keyup.enter)=\"addPulse(group.boardId, group.id)\" (keyup)=\"getAddPulseName(addPulseInput.value)\" type=\"text\" nz-input placeholder=\"+增加\" />\r\n                        </nz-input-group>\r\n                        <ng-template #suffixIconButton>\r\n                          <button (click)=\"addPulse(group.boardId, group.id)\" class=\"show-add-button\" nz-button nzType=\"primary\"><i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i></button>\r\n                        </ng-template>\r\n                      </ng-template>\r\n                    </div>\r\n                  </ng-container>\r\n                </div>\r\n              </ng-template>\r\n            </div>\r\n          </div>\r\n          <!-- 面板分组底部 end -->\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 批量操作 begin -->\r\n<div class=\"batch-component-wrapper\" *ngIf=\"pulseCheckedId.length > 0\">\r\n  <div class=\"batch-actions-menu-wrapper react-boards slide-enter-done\">\r\n    <div class=\"num-of-actions_wrapper\">\r\n      <div class=\"num-of-actions\">{{pulseCheckedId.length}}</div>\r\n    </div>\r\n    <div class=\"batch-actions-title-section\">\r\n      <div class=\"title\">选中的任务</div>\r\n      <div class=\"pulses_dots\">\r\n        <div *ngFor=\"let item of pulseCheckedId\" class=\"dot\" style=\"background: #2196F3;\"></div>\r\n      </div>\r\n    </div>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.movePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEP\">\r\n      <div class=\"batch-actions-item\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"movePulsePopVisible\"\r\n           nzPopoverTitle=\"选择分组\" [nzPopoverContent]=\"movePulseTemplate\" nzPopoverPlacement=\"top\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"color: rgb(131, 131, 131); font-size: 26px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n      <ng-template #movePulseTemplate>\r\n        <div style=\"padding: 5px;\">\r\n          <div class=\"move-pulse-op\" *ngFor=\"let group of boardGroupData\">\r\n            <div style=\"width: 8px; margin: 11px 5px 11px 0; border-radius: 20px;\" [style.background-color]=\"group.color\"></div>\r\n            <div style=\"width: calc(100% - 13px); border-radius: 4px; padding: 5px 5px; font-weight: 600;\" (click)=\"moveToGroup(group)\">\r\n              {{group.title}}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n    </ng-template>\r\n    <ng-template #elseBlockEP>\r\n      <div class=\"batch-actions-item disable\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"color: rgb(131, 131, 131); font-size: 26px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEPF\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchEditPulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockEPF>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockAPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchArchivePulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockAPA>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchDeletePulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockDPA>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"batch-actions-delete-item\" (click)=\"closeBatchMenu()\">\r\n      <i nz-icon nzType=\"close\" nzTheme=\"outline\"></i>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 批量操作 end -->\r\n<!-- 对话抽屉 begin -->\r\n<nz-drawer nzWrapClassName=\"custom-modal\"\r\n  [nzVisible]=\"isDialogVisible\"\r\n  [nzWidth]=\"1200\"\r\n  [nzClosable]=\"true\"\r\n  (nzOnClose)=\"closeDialog()\">\r\n  <nf-conversation [boardData]=\"boardData\" [nfData]=\"conversationBaseData\"></nf-conversation>\r\n</nz-drawer>\r\n<!-- 对话抽屉 end -->\r\n<!-- 弹窗批量编辑 -->\r\n<ng-template #modalTplContent>\r\n  <nf-pulse-card\r\n    #pulseCard\r\n    [taskView]=\"'table'\"\r\n    [pulseIds]=\"pulseCheckedId\"\r\n    [nfData]=\"boardData\"\r\n    (nfChangeData)=\"getPulseCardData($event)\"></nf-pulse-card>\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleAddCancel()\">取消</button>\r\n  <button\r\n    nz-button\r\n    nzType=\"primary\"\r\n    nz-popconfirm\r\n    nzPopconfirmTitle=\"是否确认批量修改？\"\r\n    (nzOnConfirm)=\"handleAddOk()\"\r\n    [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfData]=\"boardData\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n<!-- 批量设置成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isBatchAddMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleBatchAddMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"批量设置人员\"\r\n  [nzFooter]=\"addModalFooter\">\r\n  <div class=\"dialog-wrapper\" *ngIf=\"isBatchAddMemberVisible\">\r\n    <div style=\"margin:0 0 10px 0;font-weight: 600;\">选择任务</div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedTaskValue\"\r\n      nzPlaceHolder=\"选择任务\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      [nzMode]=\"'multiple'\">\r\n      <nz-option *ngFor=\"let o of boardPulseData\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n    </nz-select>\r\n    <div style=\"margin:15px 0 10px 0;font-weight: 600;\">选择成员 <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" nz-tooltip nzTooltipTitle=\"一键为当前列所选任务设置成员\"></i></div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedMemberValue\"\r\n      nzPlaceHolder=\"选择成员\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      [nzMode]=\"'multiple'\"\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      [nzDropdownRender]=\"renderTemplate\">\r\n      <nz-option *ngFor=\"let o of memberList\" [nzValue]=\"o\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n  </div>\r\n  <ng-template #addModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleBatchAddMemberCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" [disabled]=\"!(selectedTaskValue.length > 0 && selectedMemberValue.length > 0)\" [nzLoading]=\"isBatchAddMemberLoading\" (nzOnConfirm)=\"handleBatchAttachOk()\" nz-popconfirm nzPopconfirmTitle=\"此操作会批量修改任务，是否确认提交?\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n","styles":[".board-header-component{height:40px;margin-top:26px;text-align:right}.filter-button{border-radius:20px;cursor:pointer;display:inline;line-height:32px;margin-right:15px;padding:8px;text-align:center}.filter-button:hover{background-color:#00a9ff;color:#fff}.filter-item-title{color:grey;font-size:13px;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis}.filter-item-content{overflow-y:auto}.filter-item-content::-webkit-scrollbar{width:3px}.filter-option{align-items:center;background:#f5f5f5;border-bottom:1px solid #e1e1e1;cursor:pointer;display:flex;font-size:13px;height:32px;justify-content:center;margin-bottom:4px;padding:5px 8px;text-decoration:none;transition:background-color .1s ease}.filter-option:not(.selected):hover{background-color:#e1e1e1}.selected{background-color:#d9f0ff}.selected:hover{background-color:#c0e6ff}.filter-option-content{display:flex;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-option-counter{color:#a1a1a1;flex:0 0 auto;font-size:12px;font-weight:100;margin-left:5px}.status-circle{border:1px solid;border-radius:50%;display:inline-block;flex:0 0 auto;height:10px;margin-right:5px;margin-top:5px;width:10px}.board-content-component{background:#fff;box-sizing:content-box;padding-bottom:10px;padding-left:0;padding-top:10px}.board-content-wrapper{box-sizing:content-box;padding-right:30px}.board-content-items{height:100%;outline:none;position:relative;width:100%}.board-title-wrapper,.fetch-group-pulses-wrapper,.group-footer-wrapper,.group-header-wrapper,.pulse-component-wrapper{position:relative;width:100%;z-index:0}.group-footer-wrapper{left:46px;position:-webkit-sticky;position:sticky}.add-pulse-component{display:flex;padding-left:30px;position:relative}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background:#fff;border-radius:0;flex:1 1 auto;font-size:13px;font-weight:300;outline:none;padding-left:20px;padding-top:5px;text-align:left}.add-pulse-component .add-pulse-button{border-radius:0;bottom:0;cursor:pointer;opacity:1;outline:none;padding:0 12px;position:absolute;right:8px;top:0;transition:opacity .1s ease}.add-pulse-component:after{bottom:0;content:\"\";position:absolute;right:0;top:0}::ng-deep .add-pulse-left-button .ant-btn,::ng-deep .add-pulse-left-button .ant-input{border-radius:0}.add-pulse-left-button button{display:none;transform:scaleY(0);transition:transform .15s ease}.add-pulse-left-button button.show-add-button{display:block;transform:scaleY(1);transition:transform .15s ease}.group-header-component,.group-header-component .group-menu{background:#fff;display:flex;position:relative}.group-header-component .group-menu{align-items:center;cursor:pointer;flex:0 0 30px;justify-content:center;left:0;max-width:30px;padding-bottom:1px;position:-webkit-sticky;position:sticky;z-index:1}.name-column-header{align-items:center;background:hsla(0,0%,100%,.9);border-right:1px solid #fff;display:flex;flex:1 0 308px;font-size:16px;min-height:50px;min-width:0;padding-bottom:1px;position:relative;text-align:left;z-index:1}.name-cell,.name-column-header{left:30px;position:-webkit-sticky!important;position:sticky!important}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .drag-handle{display:none;position:relative}.name-column-header:hover .drag-handle{display:block}.column-header{border-right:1px solid #fff;color:#333;flex-grow:0;flex-shrink:0;font-size:13px;min-height:50px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header:hover,.set-column-current-bg{background:#f7f7f7}.set-column-current-bg .icon{visibility:visible!important}.set-column-current-bg .icon i{color:rgba(0,0,0,.5)}.group-header-component .add-column-container{cursor:pointer;flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.add-column-button i{transition:transform .2s ease,color .1s ease}.add-column-button i:hover{color:#2196f3}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-shadow{background:hsla(60,20%,98%,.96)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}::ng-deep .ant-popover-inner-content{padding:8px}.pulse-component-wrapper{background-color:#fff}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .pulse-menu-component__icon{color:rgba(0,0,0,.2);font-size:16px;visibility:hidden}.pulse-menu-component:hover{color:rgba(0,0,0,.5)}.pulse-component:hover>.pulse-menu-component .pulse-menu-component__icon{visibility:visible}.set-pulse-current-bg>.pulse-menu-component .pulse-menu-component__icon{color:rgba(0,0,0,.5);visibility:visible}.pulse-component:hover>.pulse-menu-component .pulse-menu-component__blank{visibility:hidden}.pulse-component{border-bottom:1px solid #fff;display:flex;height:36px;line-height:36px}.pulse-component.can-edit{cursor:pointer}.pulse-component>.cell-component,.pulse-component>.pulse-loading-indicator{background-color:#f0f0f0}.pulse-component:hover>.cell-component{background-color:#f5f5f5}.cell-component.name-cell{flex:1 0 308px;left:30px;text-align:left;will-change:transform;z-index:99}.cell-component{border-bottom:1px solid #e6e6e6;border-right:1px solid #fff;color:#666;flex-grow:0;flex-shrink:0;font-size:13px;font-weight:400;height:100%;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}::ng-deep .cell-component .ant-input-affix-wrapper .ant-input-suffix{right:10px}.pulse-component .pulse-right-indicator{background:#f1f1f1;border-bottom:1px solid #e6e6e6;border-right:8px solid #e6e6e6;flex:0 0 38px;max-width:38px}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.set-slide-box{-moz-transition:all .5s ease;-ms-transition:all .5s ease;-o-transition:all .5s ease;-webkit-transition:all .5s ease;transition:all .5s ease}.set-slide{overflow:hidden}.set-slide span{color:#666;display:inline-block}.set-slide .icon,.set-slide span{-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.set-slide .icon{color:rgba(0,0,0,.3);cursor:pointer;font-size:16px;left:-60px;position:absolute;top:6px;width:16px}.set-slide:hover .icon{left:0}.set-slide:hover span{color:#666;margin-left:20px}.set-header-slide .icon{color:rgba(0,0,0,.1);cursor:pointer;font-size:16px;position:absolute;right:15px;visibility:hidden;z-index:999}.set-header-slide:hover .icon{visibility:visible}.set-header-slide .icon:hover{color:rgba(0,0,0,.5)}.set-editable{border:1px dashed #fff;cursor:pointer;display:inline-block;height:32px;line-height:32px;margin-top:-13px;padding:0;width:calc(99% - 20px)}.moving-op-area{display:flex;height:1px;position:absolute;width:100%}.move-button{display:none;height:32px;position:absolute;width:32px;z-index:9}.set-editable:hover .move-button{display:block}.set-editpulse:hover{border:1px dashed rgba(0,0,0,.5)}.set-editpulse{border:1px dashed #f5f5f5;display:inline-block;height:32px;padding:0 5px;width:98%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:5px}.set-addpulse:hover{border:1px dashed rgba(0,0,0,.5)}.nodata-header{width:90%}.nodata-header,.nodata-pulse{cursor:pointer;display:inline-block;min-height:20px}.nodata-pulse{width:98%}.text-cell .editable-input{background:transparent;border:1px solid transparent;margin-top:-5px;width:99%}.text-cell .editable-input:hover{border:1px dashed #7a7a7a}.text-cell .editable-input:focus{background:#fff;border:1px dashed #0fa2e2}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5);border-radius:0}::ng-deep .set-editable .ant-input:focus{background:#fff;border:1px dashed #0fa2e2;border-radius:0}::ng-deep .pulse-left-indicator .ant-input-affix-wrapper .ant-input-suffix{right:8%}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}::ng-deep .date-cell .ant-calendar-picker:hover .ant-calendar-picker-input:not(.ant-input-disabled){border:1px dashed rgba(0,0,0,.5)}::ng-deep .ant-calendar-picker-clear{background:#f5f5f5}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-divider-horizontal{margin:0}::ng-deep .ant-progress-inner{background:#fff}.column-resize{align-items:center;display:flex;height:40px;left:30px;margin:auto;position:-webkit-sticky;position:sticky}.column-header:hover .resize-handle-right,.column-resize:hover .resize-handle-right{background:#e9e9e9}.resize-handle-left,.resize-handle-right{cursor:col-resize;height:100%;position:absolute;width:5px}.column-header:hover .resize-handle-right:hover,.column-resize:hover .resize-handle-right:hover{background:rgba(33,150,243,.7)}.resize-handle-left{left:0}.resize-handle-right{right:0;top:0}::ng-deep .name-cell .ant-checkbox-checked .ant-checkbox-inner{background-color:#fff;border-color:#fff}::ng-deep .name-cell .ant-checkbox-inner{border-radius:0;top:-2px}::ng-deep .name-cell .ant-checkbox-checked .ant-checkbox-inner:after{border:2px solid #2196f3;border-left:0;border-top:0}::ng-deep .name-cell .ant-checkbox-inner{background-color:rgba(0,0,0,.2);border:none}::ng-deep .name-cell .ant-checkbox-inner:after{left:22%}.pulse-left-indicator{-moz-transition:all .5s ease;-ms-transition:all .5s ease;-o-transition:all .5s ease;-webkit-transition:all .5s ease;background-color:transparent;border:none;display:block;line-height:35px;outline:none;overflow:hidden;position:relative;transition:all .5s ease;width:100%}.left-slide{overflow:hidden}.left-slide span{color:#666;display:inline-block;height:33px;width:95%}.left-slide .checkbox,.left-slide span{-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.left-slide .checkbox{color:#fff;left:-24px;position:absolute;text-align:center;top:0;width:32px}.left-slide .checkbox:hover{left:0}.left-slide .checkbox:hover+.editable-input,.left-slide .checkbox:hover+span{margin-left:25px}.box-checked{left:0!important}.box-text-checked{margin-left:25px!important}.pulse-left-indicator .editable-input{background:transparent;border:1px solid transparent;margin-left:10px;margin-top:-5px;width:calc(95% - 30px)}.pulse-left-indicator .editable-input:hover{border:1px dashed #7a7a7a}.pulse-left-indicator .editable-input:focus{background:#fff;border:1px dashed #0fa2e2}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.posts-indicator-component{display:flex;justify-content:center;padding:0 4px;position:absolute;right:5px;top:3px;z-index:999}.posts-indicator-component .conversation-indicator-icon{color:#c5c7d0;font-size:25px;height:24px;line-height:28px;min-width:24px;position:relative}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.group-header-collapse{margin-bottom:15px}.group-header-collapse .group-header-component .group-menu{align-items:center;background:#fff!important;display:flex;flex:0 0 30px;height:40px;justify-content:center;left:0;margin-bottom:-2px;max-width:30px;padding-bottom:1px;position:-webkit-sticky;position:sticky;z-index:1}.group-header-collapse .group-header-component.collapsed:not(.floating) .name-column-header{background:#f5f6f8;border-bottom:1px solid #e1e1e1;border-radius:0 4px 4px 0;cursor:pointer;min-height:40px;transition:background .1s ease}.group-header-collapse .group-header-component.collapsed:not(.floating) .name-column-header:hover{background:#eff1f4}.group-header-collapse .group-header-component.collapsed:not(.floating) .name-column-header:before{background:#f5f6f8;border-bottom:1px solid #e1e1e1;border-radius:4px 0 0 4px;bottom:-1px;content:\"\";left:-5px;position:absolute;top:0;width:5px;z-index:100}.group-header-collapse .name-column-header .column-header-inner{display:flex;min-width:0;width:100%}.group-header-collapse .name-column-header .pulses-count{flex:1 0 auto;font-size:12px;font-weight:400;padding-right:15px;text-align:right}.group-header-collapse .group-header-component .name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.group-header-collapse .name-column-header .group-name{font-size:16px;left:30px;padding-left:10px;position:-webkit-sticky;position:sticky;transition:margin-left .1s ease;width:100%}.group-header-collapse .collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;position:relative;text-align:center;width:18px}.group-header-collapse .group-header-component.collapsed{display:flex;position:relative}.group-header-collapse .group-sub-name{font-size:12px;margin-left:10px}.set_slide_container{-moz-transition:all .5s ease;-ms-transition:all .5s ease;-o-transition:all .5s ease;-webkit-transition:all .5s ease;background-color:transparent;border:none;cursor:pointer;display:block;margin-right:2.5em;outline:none;overflow:hidden;position:relative;transition:all .5s ease;width:100%}.slide_control .slide_display_operate{display:inline-block}.slide_control .slide_display_operate,.slide_control .slide_hide_operate{-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.slide_control .slide_hide_operate{left:-30px;position:absolute;text-align:right;top:0;width:30px}.slide_control:hover .slide_hide_operate{left:0}.slide_control:hover .slide_display_operate{margin-left:30px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell .button-pulse-config-icon i{font-size:18px;opacity:0}.button-cell .button-pulse-config-icon i:hover{color:#2196f3}.button-cell:hover .button-pulse-config-icon i{opacity:1}.button-cell .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:340px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}::ng-deep .select-cell .ant-select-selection{background:transparent;border:1px solid transparent;border-radius:0}::ng-deep .select-cell .ant-select-selection:hover{border:1px dashed #7a7a7a}::ng-deep .select-cell .ant-select-selection:focus{background:#fff;border:1px dashed #0fa2e2}.column_header_icon{font-size:16px;left:20px;position:absolute;top:13px;z-index:999}.column_header_icon:hover{color:#009aff;cursor:pointer}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff}mwlResizable{box-sizing:border-box}.create-time-header{display:block;margin-top:-8px;text-align:center;width:100%}::ng-deep .custom-modal .ant-drawer-close{color:#000!important}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.relation-board{box-shadow:none;max-height:300px;overflow-y:auto;padding-right:2px;width:200px}.relation-board::-webkit-scrollbar{width:3px}.column-title-lock{color:#789;float:right;font-size:15px;margin-right:5px}.column-title-lock:hover{color:#f08080}.pulse-order{border-right:1px solid #fff;color:#000;display:inline-block;font-size:15px;font-style:italic;margin-left:10px;position:absolute;text-align:center;width:30px}.dropdown-template_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px;text-align:center;width:100%}.dropdown-template_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.dropdown-template_add-options{max-height:200px;overflow-y:auto}.dropdown-template_add-options li{background:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:300;height:30px;line-height:30px;outline:none;padding:0 8px;width:100%}.dropdown-template_add-options li.view-option:hover{background:#009aff;color:#fff}.dropdown-template_add-options li.edit-option{margin:5px 0}::ng-deep .dropdown-template_add-options li.edit-option .ant-input{border-style:dashed;width:90%}.dropdown-template_add-options li.edit-option span{color:rgba(0,0,0,.4);font-size:16px;margin-left:5px}.dropdown-template_add-options::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.dropdown-template_add-options::-webkit-scrollbar{height:5px;width:7px}.dropdown-template_add-options::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.1);border:1px solid rgba(85,85,85,.1)}.dropdown-template_add-options::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.group-title-tag{border-radius:4px;display:inline-block;float:left;font-size:16px;height:30px;line-height:27px;overflow:hidden;overflow-x:hidden;text-align:center;text-overflow:ellipsis;width:100px}"]}]}],"members":{"inputElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":96,"character":3},"arguments":[{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputDirective","line":96,"character":13},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":96,"character":39}}]}]}],"addPulseInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":97,"character":3},"arguments":["addPulseInput"]}]}],"myInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":98,"character":3},"arguments":["myInput"]}]}],"modalTplContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":99,"character":3},"arguments":["modalTplContent",{"static":true}]}]}],"tplFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":100,"character":3},"arguments":["tplFooter",{"static":true}]}]}],"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":101,"character":3},"arguments":["pulseCard"]}]}],"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":146,"character":3},"arguments":["nfData"]}]}],"showFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":152,"character":3}}]}],"nfUpdateTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":153,"character":3}}]}],"ChangeParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3},"arguments":["taskSystemParameter"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":167,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":167,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":161,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":162,"character":19},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":163,"character":18},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":165,"character":22},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":166,"character":32},{"__symbolic":"reference","name":"Object"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"handleTaskOrder":[{"__symbolic":"method"}],"handleBoardList":[{"__symbolic":"method"}],"handleGroupLabel":[{"__symbolic":"method"}],"handleGroupCount":[{"__symbolic":"method"}],"calcBoardWidth":[{"__symbolic":"method"}],"handleClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":308,"character":3},"arguments":["window:click",["$event"]]}]}],"hasClass":[{"__symbolic":"method"}],"dropGroup":[{"__symbolic":"method"}],"dropColumn":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"addColumnFun":[{"__symbolic":"method"}],"addPulse":[{"__symbolic":"method"}],"getAddPulseName":[{"__symbolic":"method"}],"changeHeaderEditable":[{"__symbolic":"method"}],"getGroupHeader":[{"__symbolic":"method"}],"changeGroupColor":[{"__symbolic":"method"}],"getColumnHeader":[{"__symbolic":"method"}],"changePulseEditable":[{"__symbolic":"method"}],"changeAddPulseEditable":[{"__symbolic":"method"}],"getColumnName":[{"__symbolic":"method"}],"getColumnText":[{"__symbolic":"method"}],"getRelationData":[{"__symbolic":"method"}],"getVoteData":[{"__symbolic":"method"}],"getCheck":[{"__symbolic":"method"}],"getColumnDate":[{"__symbolic":"method"}],"getTimeInterval":[{"__symbolic":"method"}],"getColumnDateTime":[{"__symbolic":"method"}],"setProgressValue":[{"__symbolic":"method"}],"progressAverage":[{"__symbolic":"method"}],"progressCheckedChange":[{"__symbolic":"method"}],"progressCheckboxChange":[{"__symbolic":"method"}],"getCurrendColumn":[{"__symbolic":"method"}],"submitProgressConfig":[{"__symbolic":"method"}],"progressCalcValue":[{"__symbolic":"method"}],"sortColumn":[{"__symbolic":"method"}],"removeColumn":[{"__symbolic":"method"}],"removePulse":[{"__symbolic":"method"}],"removeGroup":[{"__symbolic":"method"}],"batchEditPulse":[{"__symbolic":"method"}],"handleAddCancel":[{"__symbolic":"method"}],"handleAddOk":[{"__symbolic":"method"}],"getPulseCardData":[{"__symbolic":"method"}],"batchArchivePulse":[{"__symbolic":"method"}],"batchDeletePulse":[{"__symbolic":"method"}],"archiveGroup":[{"__symbolic":"method"}],"archivePulse":[{"__symbolic":"method"}],"clickCurrentColumn":[{"__symbolic":"method"}],"clickCurrentPulse":[{"__symbolic":"method"}],"listenerScroll":[{"__symbolic":"method"}],"onWindowScroll":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"onResizing":[{"__symbolic":"method"}],"updatePulseChecked":[{"__symbolic":"method"}],"closeBatchMenu":[{"__symbolic":"method"}],"clickChoseDropdownOption":[{"__symbolic":"method"}],"openDialog":[{"__symbolic":"method"}],"closeDialog":[{"__symbolic":"method"}],"collapseGroup":[{"__symbolic":"method"}],"collapseAllGroup":[{"__symbolic":"method"}],"unfoldAllGroup":[{"__symbolic":"method"}],"selectGroup":[{"__symbolic":"method"}],"openGroup":[{"__symbolic":"method"}],"handleGroupData":[{"__symbolic":"method"}],"groupAuthorityChange":[{"__symbolic":"method"}],"getAuthorityMember":[{"__symbolic":"method"}],"groupAuthorityConfirm":[{"__symbolic":"method"}],"openButtonConfig":[{"__symbolic":"method"}],"removeButtonConfig":[{"__symbolic":"method"}],"editButtonConfig":[{"__symbolic":"method"}],"buttonConfigAdd":[{"__symbolic":"method"}],"buttonConfigChange":[{"__symbolic":"method"}],"buttonConfigSubmit":[{"__symbolic":"method"}],"getMaxId":[{"__symbolic":"method"}],"getButtonUserIds":[{"__symbolic":"method"}],"buttonRelationChange":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"buttonRelationClick":[{"__symbolic":"method"}],"selectOptionChange":[{"__symbolic":"method"}],"columnPermissionSet":[{"__symbolic":"method"}],"columnSetting":[{"__symbolic":"method"}],"handleColumnPermission":[{"__symbolic":"method"}],"columnEncryptChange":[{"__symbolic":"method"}],"handleColumnEncrypt":[{"__symbolic":"method"}],"columnSelectMember":[{"__symbolic":"method"}],"handleMemberCancel":[{"__symbolic":"method"}],"calcFilterData":[{"__symbolic":"method"}],"updateFilterData":[{"__symbolic":"method"}],"removeFilterColumn":[{"__symbolic":"method"}],"addFilterColumn":[{"__symbolic":"method"}],"generateColumnValue":[{"__symbolic":"method"}],"useLastCondition":[{"__symbolic":"method"}],"clearFilterCondition":[{"__symbolic":"method"}],"chooseGroup":[{"__symbolic":"method"}],"removeGroupFilter":[{"__symbolic":"method"}],"chooseGroupLabel":[{"__symbolic":"method"}],"removeGroupLabelFilter":[{"__symbolic":"method"}],"chooseValue":[{"__symbolic":"method"}],"removeValue":[{"__symbolic":"method"}],"calcHeight":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"isExist":[{"__symbolic":"method"}],"moveToGroup":[{"__symbolic":"method"}],"batchSettingMember":[{"__symbolic":"method"}],"batchAttachMember":[{"__symbolic":"method"}],"batchUpdateBoardMember":[{"__symbolic":"method"}],"handleBatchAddMemberCancel":[{"__symbolic":"method"}],"handleBatchAttachOk":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"taskOrderViewChange":[{"__symbolic":"method"}],"checkLabelExist":[{"__symbolic":"method"}],"handleDropdownInputConfirm":[{"__symbolic":"method"}],"sliceTagName":[{"__symbolic":"method"}],"handleDropdownClose":[{"__symbolic":"method"}],"handleDropdownOption":[{"__symbolic":"method"}],"genID":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"task-calendar","providers":[{"__symbolic":"reference","name":"TaskService"}],"template":"<div class=\"calendar-fullscreen-component\">\r\n  <div class=\"calendar-component-header\">\r\n    <div class=\"header-button-area\">\r\n      <a class=\"header-today-button\" (click)=\"switchToday()\">今天</a>\r\n      <i class=\"header-change-day-button\" nz-icon nzType=\"left\" nzTheme=\"outline\" (click)=\"preDay()\"></i>\r\n      <i class=\"header-change-day-button\" nz-icon nzType=\"right\" nzTheme=\"outline\" (click)=\"nextDay()\"></i>\r\n      <label class=\"header-day-description\">{{today | date: 'yyyy-MM-dd'}}</label>\r\n    </div>\r\n    <div class=\"header-field-fullscreen-component\">\r\n      <div class=\"header-buttons-fullscreen-component\">\r\n        <a class=\"header-button\" [ngClass]=\"{'active': dayType == 'month'}\" (click)=\"dayTypeChange('month')\">月</a>\r\n        <a class=\"header-button\" [ngClass]=\"{'active': dayType == 'day'}\" (click)=\"dayTypeChange('day')\">天</a>\r\n      </div>\r\n    </div>\r\n    <div class=\"header-menu\">\r\n      <i *ngIf=\"!menuFold\" title=\"任务列表\" nz-icon nzType=\"menu-unfold\" nzTheme=\"outline\" (click)=\"menuFoldChange()\"></i>\r\n      <i *ngIf=\"menuFold\" title=\"任务列表\" nz-icon nzType=\"menu-fold\" nzTheme=\"outline\" (click)=\"menuFoldChange()\"></i>\r\n    </div>\r\n  </div>\r\n  <div style=\"display: flex;\">\r\n    <div class=\"calendar-component-content\">\r\n      <ng-container [ngSwitch]=\"dayType\">\r\n        <ng-container *ngSwitchCase=\"'month'\">\r\n          <nz-calendar (nzSelectChange)=\"selectCalendarChange($event)\" [(ngModel)]=\"today\">\r\n            <ul *nzDateCell=\"let date\" class=\"events\">\r\n              <ng-container [ngSwitch]=\"date | date:'yyyy-MM-dd'\">\r\n                <ng-container *ngFor=\"let item of calendarEvent; let i = index\">\r\n                  <ng-container *ngSwitchCase=\"item.date\">\r\n                    <li>\r\n                      <div class=\"calendar-event\" (click)=\"editTask(item)\">{{item.title}}</div>\r\n                      <div *ngIf=\"i === calendarEvent.length\" (click)=\"beforeAddTask()\" class=\"calendar_no_task_sec\"><a>+添加任务</a></div>\r\n                    </li>\r\n                  </ng-container>\r\n                </ng-container>\r\n                <ng-container *ngSwitchDefault>\r\n                  <li (click)=\"beforeAddTask()\" class=\"calendar_no_task\">\r\n                    <a>+添加任务</a>\r\n                  </li>\r\n                </ng-container>\r\n              </ng-container>\r\n            </ul>\r\n            <ng-container *nzMonthCell=\"let month\">\r\n              <div *ngIf=\"getMonthData(month) as monthData\" class=\"notes-month\">\r\n                <section>{{ monthData }}</section>\r\n                <span>Backlog number</span>\r\n              </div>\r\n            </ng-container>\r\n          </nz-calendar>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'week'\">\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'day'\">\r\n          <div style=\"width: 100%;\">\r\n            <div style=\"overflow-y: auto; margin-top: 50px;\" [style.height]=\"dayContentHeight\">\r\n              <div *ngFor=\"let hour of this.calendarEvent; let i = index;\" style=\"display: flex;\">\r\n                <div style=\"width: 10%; color: #adadad; font-size: 14px; text-align: center;\">\r\n                  <ng-container *ngIf=\"i < 10\">\r\n                    0{{i}}:00 AM\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"i >= 10 && i < 12\">\r\n                    {{i}}:00 AM\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"i == 12\">\r\n                    12:00 PM\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"i > 12 && i < 22\">\r\n                    0{{i%12}}:00 PM\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"i >= 22 && i < 24\">\r\n                    {{i%12}}:00 PM\r\n                  </ng-container>\r\n                </div>\r\n                <div style=\"width: 90%; min-height: 40px; border: 1px solid #f2f2f2;\">\r\n                  <ng-container *ngIf=\"hour && hour.length > 0\">\r\n                    <div *ngFor=\"let task of hour; let j = index;\" style=\"display: flex;\">\r\n                      <div nz-tooltip nzTooltipTitle=\"{{task.groupName}}\" class=\"day-component-wrapper-task-left day-component-wrapper-task-ellipsis\">\r\n                        {{task.groupName}}\r\n                      </div>\r\n                      <div (click)=\"editTask(task)\" class=\"day-component-wrapper-task-right\" [style.background-color]=\"task.groupColor\">\r\n                        {{task.title}}\r\n                      </div>\r\n                    </div>\r\n                  </ng-container>\r\n                  <div class=\"day-component-wrapper-task-add\" (click)=\"addTimeTask(i)\"></div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n    <div class=\"calendar-component-menu\" [ngStyle]=\"{'width': menuFold?'0':'400px', 'display': menuFold?'none':'block'}\">\r\n      <div class=\"calendar-component-menu-header\">\r\n        <div>\r\n          <label>以 </label>\r\n          <label class=\"change-date-button\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"popVisible\" nzPopoverPlacement=\"bottom\" [nzPopoverContent]=\"dateColumnContent\">\r\n            <ng-container *ngIf=\"dayType == 'month' || dayType == 'week'\">\r\n              {{dateColumn && dateColumn['title']?dateColumn['title']:'日期'}}<i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"dayType == 'day'\">\r\n              {{dateTimeColumn && dateTimeColumn['title']?dateTimeColumn['title']:'日期时间'}}\r\n              <i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n            </ng-container>\r\n          </label>\r\n          <label> 为展示顺序</label>\r\n        </div>\r\n        <ng-template #dateColumnContent>\r\n          <div *ngIf=\"dayType == 'month' || dayType == 'week'\">\r\n            <div *ngFor=\"let column of dateColumns\" class=\"column-list-item\" (click)=\"columnChange(column)\">\r\n              {{column['title']}}\r\n            </div>\r\n          </div>\r\n          <div *ngIf=\"dayType == 'day'\">\r\n            <div *ngFor=\"let column of dateTimeColumns\" class=\"column-list-item\" (click)=\"columnChange(column)\">\r\n              {{column['title']}}\r\n            </div>\r\n          </div>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"calendar-component-menu-description\">\r\n        <div>\r\n          <label>未设置 </label>\r\n          <label class=\"change-date-button\">\r\n            <ng-container *ngIf=\"dayType == 'month' || dayType == 'week'\">\r\n              {{dateColumn && dateColumn['title']?dateColumn['title']:'日期'}}\r\n            </ng-container>\r\n            <ng-container *ngIf=\"dayType == 'day'\">\r\n              {{dateTimeColumn && dateTimeColumn['title']?dateTimeColumn['title']:'日期时间'}}\r\n            </ng-container>\r\n          </label>\r\n          <label> 的任务</label>\r\n        </div>\r\n      </div>\r\n      <div class=\"calendar-component-menu-calendar\" [style.height]=\"otherContentHeight\">\r\n        <div *ngFor=\"let task of otherEvent\">\r\n          <div class=\"item-list-item-component\" [style.border-left-color]=\"task['groupColor']\">\r\n            <div style=\"width: 90%; display: flex;\">\r\n              <i style=\"font-size: 16px;\" nz-icon nzType=\"profile\" nzTheme=\"outline\"></i>\r\n              <label style=\"margin-left: 5px; width: calc(100% - 21px); text-overflow: ellipsis; overflow: hidden; white-space: nowrap;\">{{task['title']}}</label>\r\n            </div>\r\n            <div style=\"width: 10%;\">\r\n              <i class=\"item-list-item-component-edit\" nz-icon nzType=\"edit\" nzTheme=\"outline\" (click)=\"editTask(task)\"></i>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"calendar-component-footer\">\r\n        <button class=\"new-item-button\" (click)=\"beforeAddTask()\">新建任务</button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗添加任务 -->\r\n<ng-template #modalTplContent>\r\n  <div class=\"pulse-card-dialog-scrollable-wrapper\">\r\n    <div class=\"pulse-card-wrapper-component\">\r\n      <div class=\"pulse-card-component\">\r\n        <ng-container *ngFor=\"let column of this.boardColumnData\">\r\n          <ng-container [ngSwitch]=\"column.type\">\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'name'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                </div>\r\n                标题\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <input nz-input placeholder=\"\" [(ngModel)]=\"addTaskData[column.id]\"\r\n                           (keyup.enter)=\"pulseNameChange(addTaskData[column.id])\" (blur)=\"pulseNameChange(addTaskData[column.id])\"/>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'multiple-person'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-duoren'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <div class=\"cell-component-value-area\" nz-popover nzPopoverTrigger=\"click\" (click)=\"getBoardUserData()\"\r\n                         [(nzPopoverVisible)]=\"column['popVisible']\" (nzPopoverVisibleChange)=\"popCellValueChange($event, column.id, addTaskData[column.id])\" [nzPopoverContent]=\"userTpl\" nzPopoverPlacement=\"bottomLeft\">\r\n                      <ng-container *ngIf=\"addTaskData[column.id] && addTaskData[column.id]['personsAndTeams']\">\r\n                        <nz-tag *ngFor=\"let person of addTaskData[column.id]['personsAndTeams']\">{{person.name}}</nz-tag>\r\n                      </ng-container>\r\n                    </div>\r\n                    <ng-template #userTpl>\r\n                      <div style=\"height: 350px;\">\r\n                        <nz-input-group [nzSuffix]=\"suffix\">\r\n                          <input #searchInput nz-input type=\"text\" placeholder=\"搜索用户\"/>\r\n                        </nz-input-group>\r\n                        <ng-template #suffix>\r\n                          <button nz-button nzType=\"primary\" nzSearch (click)=\"onMemberSearch(searchInput.value)\"><i nz-icon nzType=\"search\"></i></button>\r\n                        </ng-template>\r\n                        <div class=\"user-list-display\">\r\n                          <nz-tag class=\"user-list-display-tag\" *ngFor=\"let person of addTaskData[column.id]['personsAndTeams']; let i = index;\" nzMode=\"closeable\"\r\n                                  (click)=\"removeUser(addTaskData[column.id]['personsAndTeams'], i)\">{{person.name}}</nz-tag>\r\n                        </div>\r\n                        <div class=\"user-list\">\r\n                          <div *ngFor=\"let user of personOption\" class=\"user-list-item\" (click)=\"chooseUser(addTaskData[column.id], user)\"\r\n                               [ngClass]=\"{'selected': userSelected(addTaskData[column.id], user)}\">\r\n                            {{user['name'] + '(' + user['id'] + ')'}}\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'status'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <!-- 状态组件 begin -->\r\n                    <div nz-popover (click)=\"clickStatus()\" [(nzPopoverVisible)]=\"column['visible']\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\"\r\n                         class=\"status-font-color\" [style.background-color]=\"addTaskData[column.id].color\" (nzPopoverVisibleChange)=\"popCellValueChange($event, column.id, addTaskData[column.id])\"\r\n                         *ngIf=\"addTaskData[column.id]\">\r\n                      <span>{{addTaskData[column.id].label}}</span>\r\n                    </div>\r\n                    <div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\"\r\n                         class=\"status-font-color\" [style.background-color]=\"'#c4c4c4'\"\r\n                         *ngIf=\"!addTaskData[column.id]\">\r\n                      <span>&nbsp;</span>\r\n                    </div>\r\n                    <ng-template #statusColorTemplate>\r\n                      <div class=\"status-picker-container\">\r\n                        <div class=\"status-picker-wrapper\" *ngIf=\"isEditVisual\" [ngStyle]=\"getStatusWidth(defaultStatus[column.id])\">\r\n                          <div class=\"status-picker-colors-view\" style=\"height:180px\">\r\n                            <div class=\"new-status-picker-color-option-viewing\" *ngFor=\"let item of defaultStatus[column.id]\">\r\n                              <div (click)=\"changeStatus(column, item)\" class=\"status-color-background\" [style.background-color]=\"item.color\">\r\n                                <div class=\"ds-text-component\">\r\n                                  <span>{{item.label}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"status-picker-footer-wrapper\">\r\n                            <div *ngIf=\"isEditVisual\" class=\"status-picker-footer\" (click)=\"editStatus(column,pulse)\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i> 添加/编辑 标签\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"status-picker-wrapper\" *ngIf=\"!isEditVisual\" [ngStyle]=\"getStatusWidth(statusTemp)\">\r\n                          <div class=\"status-picker-editing-wrapper\" [style.height.px]=\"statusTemp.length < 20 ? (statusTemp.length < 8 ? 250 : 250) : 200\">\r\n                            <div class=\"status-picker-colors-editing\" style=\"height:200px\">\r\n                              <div class=\"status-picker-color-option-editing\" *ngFor=\"let item of statusTemp\">\r\n                                <div class=\"status-picker-drag-handle\"><i nz-icon [nzIconfont]=\"'icon-drag'\"></i></div>\r\n                                <div class=\"status-picker-color-input-wrapper\">\r\n                                  <div class=\"color-option-box color-box-0\" [style.background-color]=\"item.color\">\r\n                                    <i nz-icon [nzIconfont]=\"'icon-diguan'\"></i>\r\n                                  </div>\r\n                                  <input class=\"status-edit-input\" [(ngModel)]=\"item.label\" nz-input type=\"text\" placeholder=\"输入标签\" />\r\n                                </div>\r\n                                <div *ngIf=\"!item.use\" (click)=\"removeStatusTag(item.index)\" nz-tooltip nzTooltipTitle=\"删除标签\" class=\"delete-status-icon-wrapper\"><i nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                                <div *ngIf=\"item.use\" nz-tooltip nzTooltipTitle=\"标签正在使用，无法删除\" class=\"delete-status-icon-wrapper\"><i style=\"cursor:not-allowed\" nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                              </div>\r\n                              <div (click)=\"addStatusTag()\" class=\"status-placeholder\" [style.display]=\"statusTemp.length < 20 ? 'block' : 'none'\">\r\n                                <div class=\"status-placeholder-background\" style=\"transition-duration: 0s;\" [style.color]=\"addTabBGColor === '#F7F7F7'?'#c4c4c4':'#fff'\" [style.background-color]=\"addTabBGColor\">\r\n                                  <span>+ 添加标签</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"status-change-color-wrapper\">\r\n                            <div class=\"status-change-color\" [ngClass]=\"{'open':statusTemp.length < 20}\" style=\"bottom:30px\">\r\n                              <div class=\"status-change-color-background\" [style.height.px]=\"statusDel.length > 9 ? 36 : 68\" [ngClass]=\"{'open':statusTemp.length < 20}\"></div>\r\n                              <div (click)=\"addCustomTag(item.index)\" (mouseenter)=\"mouseEnterStatus(item.color)\" (mouseleave)=\"mouseLeaveStatus()\"\r\n                                   *ngFor=\"let item of statusDel\" class=\"status-change-color-icon\"\r\n                                   [ngClass]=\"{'open':statusTemp.length < 20}\" [style.background-color]=\"item.color\"></div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"status-picker-footer-wrapper editing\">\r\n                            <div *ngIf=\"!isEditVisual\" class=\"status-picker-footer\" (click)=\"submitEditStatus(column.id,boardId)\">\r\n                              应用\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                    <!-- 状态组件 end -->\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'date'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <ng-container *ngIf=\"addTaskData[column.id]\">\r\n                      <nz-date-picker [(ngModel)]=\"addTaskData[column.id].date\"\r\n                                      (ngModelChange)=\"dateCellValueChange(addTaskData, column.id, addTaskData[column.id].date)\"></nz-date-picker>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'date-time'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <ng-container *ngIf=\"addTaskData[column.id]\">\r\n                      <nf-date-time [(ngModel)]=\"addTaskData[column.id]\" (ngModelChange)=\"dateTimeCellValueChange(addTaskData, column.id, addTaskData[column.id])\"></nf-date-time>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'text'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-wenben'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <input nz-input placeholder=\"\" [(ngModel)]=\"addTaskData[column.id]\" (blur)=\"cellValueChange(column.id, addTaskData[column.id])\" />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'select'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-select'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-select [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-select>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'dropdown'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-xiala'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-dropdown [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-dropdown>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'progress'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-jindutiao'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <div class=\"calendar-view\">\r\n                      <nz-progress [nzPercent]=\"addProgressValue\" nzStatus=\"active\"></nz-progress>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'button'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-jindutiao'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <ng-container *ngIf=\"column.config && column.config.relation === '0'\">\r\n                      <ng-container *ngFor=\"let button of column.config.original\">\r\n                        <button (click)=\"buttonCustomClick(column, pulse)\" [nzLoading]=\"clickButtonLoading\"\r\n                                *ngIf=\"pulse.columnValues[column.id] && button.id == pulse.columnValues[column.id].original\"\r\n                                [nzSize]=\"'small'\" nz-button [nzType]=\"button.type\" [disabled]=\"!button.usable\">{{button.title}}</button>\r\n                      </ng-container>\r\n                      <span style=\"position: absolute; right: 10px; font-size: 14px;\"\r\n                        class=\"button-pulse-config-icon\"\r\n                        nz-popover\r\n                        nzPopoverTrigger=\"click\"\r\n                        nzPopoverPlacement=\"leftBottom\"\r\n                        (click)=\"openButtonConfig(pulse.id, column)\"\r\n                        [nzPopoverContent]=\"buttonTemplate\"><i nz-icon [nzIconfont]=\"'icon-peizhi'\"></i></span>\r\n                      <ng-template #buttonTemplate>\r\n                        <div class=\"button-config-wrapper\">\r\n                          <div class=\"button-config_select\">\r\n                            <div class=\"button-config_select-radio\" *ngIf=\"buttonConfigStatus\">\r\n                              <div class=\"button-config_select-title\">选择显示的按钮：</div>\r\n                              <nz-radio-group (ngModelChange)=\"buttonSelectChange($event, pulse.id, column)\" [(ngModel)]=\"pulse.columnValues[column.id].original\" style=\"width:100%\">\r\n                                <label style=\"width:100%;margin-bottom:5px\" *ngFor=\"let item of column.config.original\" nz-radio [nzValue]=\"item.id\">\r\n                                  {{item.title}}\r\n                                  <span class=\"button-config_select-radio-edit\">\r\n                                    <i (click)=\"editButtonConfig(item)\" nz-tooltip nzTooltipTitle=\"编辑\" nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                                  </span>\r\n                                  <span class=\"button-config_select-radio-remove\">\r\n                                    <ng-container *ngIf=\"item.notRemove\">\r\n                                      <i style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"按钮已经使用，无法删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                    </ng-container>\r\n                                    <ng-container *ngIf=\"!item.notRemove\">\r\n                                      <i (click)=\"removeButtonConfig(item.id, column)\" nz-tooltip nzTooltipTitle=\"删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                    </ng-container>\r\n                                  </span>\r\n                                </label>\r\n                              </nz-radio-group>\r\n                            </div>\r\n                            <div class=\"button-config_select-add\" *ngIf=\"!buttonConfigStatus\">\r\n                              <nz-form-item>\r\n                                <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigTitle\">按钮名称：</nz-form-label>\r\n                                <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                  <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigTitle\" />\r\n                                </nz-form-control>\r\n                              </nz-form-item>\r\n                              <nz-form-item>\r\n                                <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否可用：</nz-form-label>\r\n                                <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                  <nz-switch (ngModelChange)=\"buttonConfigChange($event)\" [ngModel]=\"buttonConfigDisabled\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                </nz-form-control>\r\n                              </nz-form-item>\r\n                              <nz-form-item>\r\n                                <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigUrl\">请求地址：</nz-form-label>\r\n                                <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                  <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigUrl\" />\r\n                                </nz-form-control>\r\n                              </nz-form-item>\r\n                            </div>\r\n                            <div style=\"margin:10px 0 5px 0;\"><nz-divider></nz-divider></div>\r\n                            <div class=\"button-config_edit-status\" (click)=\"buttonConfigAdd()\" *ngIf=\"buttonConfigStatus\"><div>新增</div></div>\r\n                            <div class=\"button-config_edit-status\" (click)=\"buttonConfigSubmit(buttonConfigEditStatus?'edit':'add', column)\" *ngIf=\"!buttonConfigStatus\"><div>提交</div></div>\r\n                          </div>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #chooseGroupContent>\r\n  <div style=\"padding: 8px;\">\r\n    <nz-select style=\"width: 100%;\" required [(ngModel)]=\"group\" nzPlaceHolder=\"请选择分组\">\r\n      <nz-option *ngFor=\"let g of boardGroupData\" [nzValue]=\"g\" [nzLabel]=\"g.title\"></nz-option>\r\n    </nz-select>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #tplAddFooter>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleCancel()\" [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n<ng-template #tplEditFooter>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleCancel()\" [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".calendar-fullscreen-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;flex-grow:1;height:100%;position:relative;user-select:none}::ng-deep table{border-spacing:0}::ng-deep .ant-fullcalendar-fullscreen .ant-fullcalendar-table{border:solid #e6e9ef;border-width:1px 0}::ng-deep .ant-fullcalendar-date{border-top:none!important;margin:0!important}::ng-deep .ant-fullcalendar td{border:1px solid #e6e9ef}::ng-deep .ant-fullcalendar-fullscreen .ant-fullcalendar-column-header{border:solid #e6e9ef;border-width:0 1px;padding-top:5px}::ng-deep .ant-fullcalendar-column-header .ant-fullcalendar-column-header-inner{font-weight:600}::ng-deep .ant-fullcalendar-value{font-size:16px}::ng-deep .ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-value{font-weight:600}.calendar_no_task{height:80px;line-height:70px;text-align:center}.calendar_no_task_sec{margin-top:10px;text-align:center}.calendar_no_task_sec a,.calendar_no_task a{display:block;text-indent:-999px}.calendar_no_task:hover a,.calendar_no_task_sec:hover a{text-indent:0}.pulse-card-dialog-scrollable-wrapper{flex:1;overflow:auto;padding:0 0 12px}.pulse-card-header{display:flex;flex-direction:column;flex-shrink:0;position:relative}.pulse-card-header .pulse-name-value{color:#333;flex:1;font-size:24px;font-weight:700;overflow:hidden}.pulse-card-wrapper-component{padding-top:20px}.pulse-card-component{flex-grow:1;line-height:40px;margin-top:20px;max-height:540px;overflow-y:auto;width:100%}.pulse-card-component .pulse-card-cell-wrapper{display:flex;margin:0 auto 8px}.pulse-card-component .pulse-card-cell-wrapper .column-title{align-items:center;display:flex;padding-left:20px;width:120px}.column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-title{cursor:text}.pulse-card-cell-wrapper-component .cell-wrapper{padding-left:16px}.pulse-card-cell-wrapper-component .cell-wrapper>div{background-color:#f0f0f0}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.cell-component-value-area{min-height:40px;overflow-x:auto;width:100%}.pulse-card-cell-wrapper-component .cell-wrapper>div:not(.dialog-node){min-height:40px;padding:0 3px;width:300px}.column-icon i{font-size:19px;margin-right:3px;vertical-align:middle}::ng-deep .pulse-card-component .ant-select-selection{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:0}::ng-deep .pulse-card-component .ant-select-selection__clear{background:#f0f0f0}::ng-deep .pulse-card-component .ant-input{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:0}::ng-deep .pulse-card-component .ant-calendar-picker{width:298px}.calendar-view{padding:0 5px}.status-font-color{color:#fff;cursor:pointer;min-height:32px}.new-status-picker-dialog-wrapper .status-picker-container{display:flex;justify-content:center}.status-picker-container{width:100%}.status-picker-wrapper{border-radius:4px;font-size:13px;height:100%;pointer-events:all;position:relative;transition:width .1s}.status-picker-wrapper:before{border-bottom-color:#c4c4c4;border-width:10px;right:50%;transform:translateX(50%)}.status-picker-wrapper:after,.status-picker-wrapper:before{border:solid hsla(0,0%,88.2%,0);bottom:100%;content:\" \";height:0;pointer-events:none;position:absolute;width:0}.status-picker-wrapper:after{border-bottom-color:#fff;border-width:8px;right:50%;transform:translateX(50%)}.status-picker-wrapper .status-picker-colors-view{align-content:space-between;padding-left:16px;padding-right:16px}.new-status-picker-color-option-viewing{-ms-grid-row-align:inherit;align-self:auto;border-radius:2px;color:#fff;cursor:pointer;flex:0 0 32px;font-weight:400;height:32px;line-height:32px;margin-bottom:8px;margin-right:8px;position:relative;text-align:center;transition:transform .1s ease-in-out,opacity .1s ease-in-out;width:134px}.new-status-picker-color-option-viewing .status-color-background{height:32px;line-height:32px;text-align:center;width:100%}.status-color-background:hover{opacity:.8}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.status-picker-wrapper .status-picker-footer-wrapper{flex:0 0 auto;height:30px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-top:2px solid #f1f1f1;color:#009aff;cursor:pointer;font-size:13px;height:40px;line-height:40px;position:relative;text-align:center;top:-3px;transition:color .1s;user-select:none}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer i{font-size:18px;margin-right:5px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer:hover{background:#009aff;color:#fff}.status-picker-wrapper .status-picker-editing-wrapper{transition:height .15s ease}.status-picker-wrapper .status-picker-colors-editing{align-content:flex-start}.status-picker-color-option-editing{-moz-user-select:none;-ms-grid-row-align:auto;-ms-user-select:none;-webkit-user-select:none;align-self:auto;border-radius:2px;display:flex;flex:0 0 40px;font-weight:400;height:40px;line-height:32px;position:relative;text-align:center;user-select:none;width:130px}.status-picker-color-option-editing .status-picker-drag-handle{color:#c4c4c4;cursor:move;flex:0 0 12px;padding:1px 2px 0 0}.status-picker-color-option-editing .status-picker-color-input-wrapper{border-radius:2px;display:flex;flex:0 0 104px;height:32px;width:104px}.status-picker-color-option-editing .status-picker-color-input-wrapper .color-option-box{border:1px solid transparent;border-radius:2px 0 0 2px;border-right-width:0;flex:0 0 16px;height:100%;padding-right:1px;width:18px}.status-picker-wrapper .status-picker-colors-editing,.status-picker-wrapper .status-picker-colors-view{align-items:flex-start;display:flex;flex:1 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;min-width:0;overflow:hidden;padding:7px 8px 0 2px;width:100%}.status-picker-color-option-editing .color-option-box:not(.is-disabled){cursor:pointer}.status-picker-color-option-editing .color-option-box{color:#fff;flex:0 0 16px;font-size:16px}.delete-status-icon-wrapper{cursor:pointer}.delete-status-icon-wrapper i{color:rgba(0,0,0,.1)}.delete-status-icon-wrapper:hover i{color:rgba(0,0,0,.8)}.color-option-box i,.delete-status-icon-wrapper i,.status-picker-drag-handle i{visibility:hidden}.status-picker-color-option-editing:hover .color-option-box i,.status-picker-color-option-editing:hover .delete-status-icon-wrapper i,.status-picker-color-option-editing:hover .status-picker-drag-handle i{visibility:visible}.delete-status-icon-wrapper{margin-left:3px}::ng-deep .status-edit-input.ant-input{background:#f7f7f7;border-left:none;border-radius:0 2px 2px 0}.status-change-color-wrapper .status-change-color{align-content:flex-start;align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:4px;position:absolute;transform:scaleY(0);transition:transform .15s ease;width:100%;z-index:1}.status-change-color-icon{border:1px solid #fff;border-radius:50%;cursor:pointer;height:20px;margin:4px;position:relative;transform:scale(0);transition:transform .15s ease;width:20px}.status-change-color-wrapper .status-change-color .status-change-color-background{background-color:#f7f7f7;border-bottom:2px solid #f1f1f1;border-top:2px solid #f1f1f1;height:36px;left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:center bottom;transition:transform .15s ease;width:100%}.status-change-color-wrapper .status-change-color.open,.status-change-color-wrapper .status-change-color .status-change-color-background.open{transform:scaleY(1)}.status-change-color-icon.open{transform:scale(1)}.status-change-color-icon.open:hover{box-shadow:0 1px 8px -2px #000;transform:scale(1.2)}.status-placeholder{cursor:pointer}.status-placeholder .status-placeholder-background{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;border:1px dashed #c4c4c4;border-radius:2px;color:#c4c4c4;display:flex;font-size:12px;height:32px;justify-content:center;margin:0 12px 0 15px;transition:background-color .2s ease-in;user-select:none;width:104px}::ng-deep .cell-wrapper .ant-calendar-picker-clear{background:#f0f0f0}.calendar-event{background-image:linear-gradient(180deg,#ba87e5,#a25ddc);border-radius:10px;color:#000;height:21px;margin:4px 5px auto;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.switch-today{position:absolute;right:300px;top:11px}.header-field-fullscreen-component{width:30%}.header-buttons-fullscreen-component{display:flex;height:28px}.header-button{align-items:center;border-radius:16px;color:#1c1f3b;display:flex;justify-content:center;margin-right:5px;min-width:60px}.header-button.active{background-color:#e5f4ff;color:#009aff}.header-button:hover:not(.active){background-color:#edeef0}.header-menu{padding-right:10px;text-align:right;width:10%}.header-menu i{border-radius:10px;font-size:20px;padding:4px}.header-menu i:hover{background-color:#edeef0}.calendar-component-header{border-bottom:1px solid #e6e9ef;display:flex;margin-left:12px}.calendar-component-content{width:100%}.calendar-component-menu{border-left:1px solid #f1f1f1;min-width:0;transition:all .5s ease-in-out}.calendar-component-menu-header{border-bottom:1px solid #f1f1f1;height:90px;padding:16px}.calendar-component-menu-description{height:50px;padding:16px}.calendar-component-menu-calendar{overflow-y:auto;padding:5px}.calendar-component-footer{height:40px;text-align:center}.header-button-area{display:flex;width:60%}.header-today-button{background-color:transparent;border:1px solid #edeef0;border-radius:20px;color:#1c1f3b;cursor:pointer;display:block;font-size:13px;height:30px;margin-left:20px;padding:4px 16px;text-decoration:none;transition:background-color .1s ease-in,color .1s ease-in;width:70px}.header-today-button:hover{background-color:#e5f4ff;border:1px solid #edeef0;color:#009aff}.header-change-day-button{border-radius:24px;height:32px;line-height:32px;margin-left:5px;transition:background-color .3s ease-in-out;width:32px}.header-change-day-button:hover{background-color:#edeef0}.header-day-description{font-size:16px;line-height:32px;margin-left:24px}.new-item-button{background-color:transparent;border-color:transparent;border-radius:20px;color:#009aff;font-weight:400;outline:none;padding:.641rem 2rem}.new-item-button:hover{background-color:#edeef0;color:#000}.change-date-button{font-size:14px;font-weight:600}.change-date-button:hover{color:#009aff}.column-list-item,.column-list-item-disabled{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:36px;padding-left:8px;padding-right:8px;width:200px}.column-list-item:hover{background:#f1f1f1}.item-list-item-component{align-items:center;border:1px solid #e1e1e1;border-left:4px solid;border-radius:4px;display:flex;height:40px;margin-bottom:8px;margin-right:16px;padding-left:8px}.item-list-item-component-edit{display:none;font-size:16px}.item-list-item-component-edit:hover{color:#009aff}.item-list-item-component:hover .item-list-item-component-edit{display:block}.user-list-display{max-height:60px;max-width:275px;min-height:30px;overflow-y:auto}.user-list-display-tag{margin-top:5px}.user-list{max-height:310px;overflow-y:auto;padding:5px;width:275px}.user-list-item{border-radius:5px;padding:5px 8px}.user-list .selected{background-color:#009aff;color:#fff}.user-list-item:hover:not(.selected){background-color:#f1f1f1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.day-component-wrapper-task-left{background-color:#f1f1f1;border-radius:4px;font-weight:600;height:30px;line-height:30px;margin-bottom:2px;margin-left:3px;padding:2px 5px;text-align:center;width:10%}.day-component-wrapper-task-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-component-wrapper-task-right{background-color:#f2f2f2;border-radius:4px;cursor:pointer;height:30px;line-height:30px;margin-bottom:2px;margin-left:3px;margin-right:3px;padding:2px 5px;text-align:center;width:90%}.day-component-wrapper-task-add{border-radius:4px;height:25px;line-height:25px;margin:3px}.day-component-wrapper-task-add:hover{background-color:#c7e6fa;color:#009aff}.day-component-wrapper-task-add:hover:after{align-items:center;border-radius:2px;bottom:0;content:\"+ 新增\";display:flex;height:100%;justify-content:center;left:0;margin:auto;right:0;top:0;width:100%}"]}]}],"members":{"modalTplContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":66,"character":3},"arguments":["modalTplContent",{"static":true}]}]}],"chooseGroupContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":67,"character":3},"arguments":["chooseGroupContent",{"static":true}]}]}],"tplAddFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":68,"character":3},"arguments":["tplAddFooter",{"static":true}]}]}],"tplEditFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":69,"character":3},"arguments":["tplEditFooter",{"static":true}]}]}],"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3},"arguments":["nfData"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":84,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":85,"character":19},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":87,"character":18},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":88,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":85,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"dayTypeChange":[{"__symbolic":"method"}],"handleDateColumn":[{"__symbolic":"method"}],"getEvent":[{"__symbolic":"method"}],"getCalendarEventForMonth":[{"__symbolic":"method"}],"getCalendarEventForDay":[{"__symbolic":"method"}],"menuFoldChange":[{"__symbolic":"method"}],"columnChange":[{"__symbolic":"method"}],"getMonthData":[{"__symbolic":"method"}],"addTimeTask":[{"__symbolic":"method"}],"beforeAddTask":[{"__symbolic":"method"}],"addTask":[{"__symbolic":"method"}],"editTask":[{"__symbolic":"method"}],"selectCalendarChange":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"pulseNameChange":[{"__symbolic":"method"}],"popCellValueChange":[{"__symbolic":"method"}],"dateCellValueChange":[{"__symbolic":"method"}],"dateTimeCellValueChange":[{"__symbolic":"method"}],"timeEventChangeForMonth":[{"__symbolic":"method"}],"timeEventChangeForDay":[{"__symbolic":"method"}],"removeEventFormCalendar":[{"__symbolic":"method"}],"removeEventFromOther":[{"__symbolic":"method"}],"cellValueChange":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"openButtonConfig":[{"__symbolic":"method"}],"getButtonUserIds":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"editButtonConfig":[{"__symbolic":"method"}],"removeButtonConfig":[{"__symbolic":"method"}],"buttonConfigChange":[{"__symbolic":"method"}],"buttonConfigAdd":[{"__symbolic":"method"}],"buttonConfigSubmit":[{"__symbolic":"method"}],"getMaxId":[{"__symbolic":"method"}],"getBoardUserData":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"chooseUser":[{"__symbolic":"method"}],"removeUser":[{"__symbolic":"method"}],"userSelected":[{"__symbolic":"method"}],"clickStatus":[{"__symbolic":"method"}],"getStatusWidth":[{"__symbolic":"method"}],"changeStatus":[{"__symbolic":"method"}],"mouseEnterStatus":[{"__symbolic":"method"}],"mouseLeaveStatus":[{"__symbolic":"method"}],"editStatus":[{"__symbolic":"method"}],"submitEditStatus":[{"__symbolic":"method"}],"removeStatusTag":[{"__symbolic":"method"}],"addStatusTag":[{"__symbolic":"method"}],"addCustomTag":[{"__symbolic":"method"}],"progressAverage":[{"__symbolic":"method"}],"preDay":[{"__symbolic":"method"}],"switchToday":[{"__symbolic":"method"}],"nextDay":[{"__symbolic":"method"}],"generateGroupMap":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"nf-multiple-person","providers":[{"__symbolic":"reference","name":"TaskService"}],"template":"<div class=\"multiple-person-cell-component-wrapper\">\r\n  <ng-container *ngIf=\"!isDisabled\">\r\n    <div class=\"multiple-person-cell-component can-edit\" (click)=\"clickChosePerson(pulse.columnValues[column.id].personsAndTeams, pulse.id, column.id)\"\r\n         nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" nz-popover [nzPopoverContent]=\"personTemplate\" [(nzPopoverVisible)]=\"popVisible\">\r\n      <div class=\"multiple-person-images-wrapper-container\">\r\n        <div class=\"add-button\">\r\n          <i nz-icon [nzIconfont]=\"'icon-tianjia'\"></i>\r\n        </div>\r\n        <ng-container *ngIf=\"pulse.columnValues[column.id] && pulse.columnValues[column.id].personsAndTeams\">\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length > 0 && pulse.columnValues[column.id].personsAndTeams.length < 4\">\r\n            <div class=\"multiple-person-bullet\" *ngFor=\"let list of pulse.columnValues[column.id].personsAndTeams;\">\r\n              <nz-avatar nz-tooltip [nzTooltipTitle]=\"list.name\" [nzText]=\"list.name ? list.name.substr(list.name.length-1,1):''\"\r\n                         [nzSize]=\"25\" [style.background]=\"list.color?list.color:'#2196F3'\"></nz-avatar>\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length >= 4\">\r\n            <div style=\"display: flex\" nz-tooltip [nzTooltipTitle]=\"titleTemplate\">\r\n              <div class=\"multiple-person-bullet\">\r\n                <img src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\" alt=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\">\r\n              </div>\r\n              <div class=\"multiple-person-bullet\">\r\n                <div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length}}</span></div>\r\n              </div>\r\n            </div>\r\n            <ng-template #titleTemplate>\r\n              <div *ngFor=\"let item of pulse.columnValues[column.id].personsAndTeams\">{{item.name}}</div>\r\n            </ng-template>\r\n<!--            <div class=\"multiple-person-bullet\">-->\r\n<!--              <nz-avatar nz-tooltip [nzTooltipTitle]=\"pulse.columnValues[column.id].personsAndTeams[0].name\"-->\r\n<!--                         [nzText]=\"pulse.columnValues[column.id].personsAndTeams[0].name ?-->\r\n<!--                         pulse.columnValues[column.id].personsAndTeams[0].name.substr(pulse.columnValues[column.id].personsAndTeams[0].name.length-1,1):-->\r\n<!--                         pulse.columnValues[column.id].personsAndTeams[0]['label'] ? pulse.columnValues[column.id].personsAndTeams[0]['label'].substr(pulse.columnValues[column.id].personsAndTeams[0]['label'].length-1,1):''\"-->\r\n<!--                         [nzSize]=\"25\" [style.background]=\"pulse.columnValues[column.id].personsAndTeams[0].color?pulse.columnValues[column.id].personsAndTeams[0].color:'#2196F3'\"></nz-avatar>-->\r\n<!--            </div>-->\r\n<!--            <div class=\"multiple-person-bullet\">-->\r\n<!--              <div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length - 1}}</span></div>-->\r\n<!--            </div>-->\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length === 0\">\r\n            <div class=\"multiple-person-bullet\">\r\n              <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!(pulse.columnValues[column.id] && pulse.columnValues[column.id].personsAndTeams)\">\r\n          <div class=\"multiple-person-bullet\">\r\n            <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"isDisabled\">\r\n    <div class=\"multiple-person-cell-component\" style=\"cursor: default\">\r\n      <div class=\"multiple-person-images-wrapper-container\">\r\n        <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams\">\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length > 0 && pulse.columnValues[column.id].personsAndTeams.length < 4\">\r\n            <div class=\"multiple-person-bullet\" *ngFor=\"let list of pulse.columnValues[column.id].personsAndTeams\">\r\n              <img nz-tooltip [nzTooltipTitle]=\"list.name\" *ngIf=\"list.photoUrl\" src=\"{{list.photoUrl}}\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{list.name}}\" alt=\"{{list.name}}\">\r\n              <img nz-tooltip [nzTooltipTitle]=\"list.name\" *ngIf=\"!list.photoUrl\" src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length >= 4\">\r\n            <div style=\"display: flex\" nz-tooltip [nzTooltipTitle]=\"titleTemplate\">\r\n              <div class=\"multiple-person-bullet\">\r\n                <img src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\" alt=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\">\r\n              </div>\r\n              <div class=\"multiple-person-bullet\">\r\n                <div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length}}</span></div>\r\n              </div>\r\n            </div>\r\n            <ng-template #titleTemplate>\r\n              <div *ngFor=\"let item of pulse.columnValues[column.id].personsAndTeams\">{{item.name}}</div>\r\n            </ng-template>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length === 0\">\r\n            <div class=\"multiple-person-bullet\">\r\n              <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!pulse.columnValues[column.id].personsAndTeams\">\r\n          <div class=\"multiple-person-bullet\">\r\n            <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n<ng-template #personTemplate>\r\n  <ng-container *ngIf=\"!inviteMemberVisual\">\r\n    <div class=\"multiple-person_selected\">\r\n      <div class=\"multiple-person_selected-title\" *ngIf=\"selectedTags.length > 0\">当前成员：</div>\r\n      <div class=\"multiple-person_selected-tags\">\r\n        <nz-tag\r\n          *ngFor=\"let tag of selectedTags; let i = index\"\r\n          [nzMode]=\"'closeable'\"\r\n          (nzOnClose)=\"handleClose(tag)\"\r\n        >\r\n          {{tag.name}}\r\n        </nz-tag>\r\n      </div>\r\n    </div>\r\n    <nz-select\r\n      style=\"width: 300px\"\r\n      nzMode=\"multiple\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      (nzScrollToBottom)=\"loadMore()\"\r\n      nzPlaceHolder=\"搜索选择成员\"\r\n      [(ngModel)]=\"selectedPersonValue\"\r\n      (ngModelChange)=\"selectedPersonChange()\"\r\n      [nzDropdownRender]=\"renderTemplate\"\r\n    >\r\n      <nz-option *ngFor=\"let option of personOption\" [nzLabel]=\"option.name + '(' + option.id + ')'\" [nzValue]=\"option\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n    <button style=\"margin-left:10px\" (click)=\"doSubmit()\" [disabled]=\"btnConfirm\" [nzLoading]=\"btnLoading\" nz-button nzType=\"primary\">提交</button>\r\n  </ng-container>\r\n  <div class=\"invite-member-form\" *ngIf=\"inviteMemberVisual\">\r\n    <input autocomplete=\"off\" (ngModelChange)=\"inviteMailKeyEvent($event)\" style=\"width: 300px\" nz-input placeholder=\"请输入被邀成员邮箱\" [(ngModel)]=\"inviteMailInputValue\" [email]=\"true\" type=\"email\" name=\"email\" />\r\n    <div class=\"invite-member-form-button\"><button (click)=\"doSendInvite()\" [disabled]=\"inviteButtonState\" nz-button nzType=\"primary\">发送邀请</button></div>\r\n  </div>\r\n</ng-template>\r\n","styles":[".multiple-person-cell-component-wrapper{height:100%}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.multiple-person-cell-component .multiple-person-images-wrapper-container{align-items:center;display:flex;justify-content:center;margin:0 24px;max-width:calc(100% - 24px);position:relative}.multiple-person-cell-component .multiple-person-images-wrapper-container .add-button{align-items:center;color:#009aff;font-size:14px;height:100%;left:0;opacity:0;position:absolute;top:2px;transform:translateX(-50%) scale(.3);transform-origin:50% 50%;transition:transform .1s ease-in,opacity .1s ease-in;z-index:2}.multiple-person-cell-component .multiple-person-images-wrapper-container .multiple-person-bullet:last-of-type{margin-right:0}.multiple-person-cell-component .multiple-person-images-wrapper-container .multiple-person-bullet{align-items:center;border:2px solid #f5f5f5;border-radius:25px;box-sizing:content-box;display:flex;flex-shrink:0;height:25px;margin:3px -4px 0;min-width:0;z-index:0}.multiple-person-cell-component:hover .multiple-person-images-wrapper-container .add-button{opacity:1;transform:translateX(-50%) scale(1)}.multiple-person-cell-component .multiple-person-images-wrapper-container .multiple-person-bullet .person-bullet-component{flex-shrink:0}.extra-persons-indicator-component{align-items:center;background-color:#333;border-radius:25px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:300;height:25px;justify-content:center;min-width:25px;padding:0 5px;position:relative}.add-button i{background:#fff;border-radius:100%}.person-bullet-component{border-radius:50%;display:flex;flex-shrink:0;height:25px;position:relative;width:25px}.invite-member{background:#fff;border-radius:4px;color:#00a9ff;cursor:pointer;height:34px;line-height:34px;margin-top:10px;padding:0 10px}.invite-member:hover{background:#00a9ff;color:#fff}.invite-member i{font-size:20px;vertical-align:text-top}.invite-member-form-button{margin-top:5px}.invite-member-form-button button{width:100%}.multiple-person_selected{margin:10px 0;max-width:300px}.multiple-person_selected-title{margin-bottom:10px}::ng-deep .multiple-person_selected .ant-tag{margin-bottom:5px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3},"arguments":["nfBoardData"]}]}],"ChangeGroupData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3},"arguments":["nfGroupData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3},"arguments":["nfPulseData"]}]}],"changeDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3},"arguments":["nfDisabled"]}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":88,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":91,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":92,"character":18},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"initSelectOption":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"getBoardUserData":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"inviteMember":[{"__symbolic":"method"}],"clickChosePerson":[{"__symbolic":"method"}],"inviteMailKeyEvent":[{"__symbolic":"method"}],"doSendInvite":[{"__symbolic":"method"}],"selectedPersonChange":[{"__symbolic":"method"}],"doSubmit":[{"__symbolic":"method"}],"patchColumnUser":[{"__symbolic":"method"}],"getColumnsUserData":[{"__symbolic":"method"}],"handleClose":[{"__symbolic":"method"}],"getAvatarColor":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"nf-status","template":"<ng-container *ngFor=\"let item of column.labels; let i = index;\">\r\n  <ng-container *ngIf=\"pulse.columnValues[column.id]\">\r\n    <ng-container *ngIf=\"!isDisabled\">\r\n      <div class=\"status-component-wrapper\" *ngIf=\"pulse.columnValues[column.id].index === item.index\">\r\n        <div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [(nzPopoverVisible)]=\"popVisible && !editing\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\" class=\"status-font-color\" style=\"height:100%\" [style.background-color]=\"item.color\">\r\n          <span *ngIf=\"item.label\">{{item.label}}</span>\r\n          <span *ngIf=\"!item.label\">&nbsp;</span>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].remarks\">\r\n            <div style=\"color:#fff;cursor: pointer;position: absolute;right:10px;font-size:18px;top: 0;\" nz-tooltip nzTooltipTitle=\"{{pulse.columnValues[column.id].remarks}}\">\r\n              <i nz-icon nzType=\"message\" nzTheme=\"outline\"></i>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n      <!--<ng-container #statusTemp>-->\r\n        <!--<div class=\"status-component-wrapper\">-->\r\n          <!--<div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [(nzPopoverVisible)]=\"popVisible && !editing\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\" class=\"status-font-color\">-->\r\n            <!--<span>&nbsp;</span>-->\r\n          <!--</div>-->\r\n        <!--</div>-->\r\n      <!--</ng-container>-->\r\n      <!--<div class=\"status-component-wrapper\" *ngIf=\"!pulse.columnValues[column.id].index && pulse.columnValues[column.id].index != 0\">-->\r\n        <!--<div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [(nzPopoverVisible)]=\"popVisible && !editing\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\" class=\"status-font-color\">-->\r\n          <!--<span>&nbsp;</span>-->\r\n        <!--</div>-->\r\n      <!--</div>-->\r\n      <ng-template #statusColorTemplate>\r\n        <div class=\"status-picker-container\">\r\n          <div class=\"status-picker-wrapper\" *ngIf=\"isEditVisual\" [ngStyle]=\"getStatusWidth(column.labels)\">\r\n            <div class=\"status-picker-colors-view\" style=\"height:180px\">\r\n              <div class=\"new-status-picker-color-option-viewing\" *ngFor=\"let item of column.labels\">\r\n                <div (click)=\"changeStatus(pulse.id, column, item)\" class=\"status-color-background\" [style.background-color]=\"item.color\">\r\n                  <div class=\"ds-text-component\">\r\n                    <span>{{item.label}}</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"status-picker-footer-wrapper\">\r\n              <div *ngIf=\"isEditVisual\" class=\"status-picker-footer\" (click)=\"editStatus(column,pulse)\">\r\n                <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i> 添加/编辑 标签\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"status-picker-wrapper\" *ngIf=\"!isEditVisual\" style=\"min-width:270px\" [ngStyle]=\"getStatusWidth(statusTemp)\">\r\n            <div class=\"status-picker-editing-wrapper\" [style.height.px]=\"statusTemp.length < 20 ? (statusTemp.length < 8 ? 250 : 250) : 200\">\r\n              <div class=\"status-picker-colors-editing\" style=\"height:180px\">\r\n                <div class=\"status-picker-color-option-editing\" *ngFor=\"let item of statusTemp\">\r\n                  <div class=\"status-picker-drag-handle\"><i nz-icon [nzIconfont]=\"'icon-drag'\"></i></div>\r\n                  <div class=\"status-picker-color-input-wrapper\">\r\n                    <div class=\"color-option-box color-box-0\" [style.background-color]=\"item.color\">\r\n                      <i nz-icon [nzIconfont]=\"'icon-diguan'\"></i>\r\n                    </div>\r\n                    <input class=\"status-edit-input\" [(ngModel)]=\"item.label\" nz-input type=\"text\" placeholder=\"输入标签\" />\r\n                  </div>\r\n                  <div *ngIf=\"!item.use\" (click)=\"removeStatusTag(item.index)\" nz-tooltip nzTooltipTitle=\"删除标签\" class=\"delete-status-icon-wrapper\"><i nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                  <div *ngIf=\"item.use\" nz-tooltip nzTooltipTitle=\"标签已经使用，无法删除\" class=\"delete-status-icon-wrapper\"><i style=\"cursor:not-allowed\" nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                </div>\r\n                <div (click)=\"addStatusTag()\" class=\"status-placeholder\" [style.display]=\"statusTemp.length < 20 ? 'block' : 'none'\">\r\n                  <div class=\"status-placeholder-background\" style=\"transition-duration: 0s;\" [style.color]=\"addTabBGColor === '#F7F7F7'?'#c4c4c4':'#fff'\" [style.background-color]=\"addTabBGColor\">\r\n                    <span>+ 添加标签</span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"status-change-color-wrapper\">\r\n              <div class=\"status-change-color\" [ngClass]=\"{'open':statusTemp.length < 20}\" style=\"bottom:30px\">\r\n                <div class=\"status-change-color-background\" [style.height.px]=\"statusDel.length > 13 ? 68 : 36\" [ngClass]=\"{'open':statusTemp.length < 20}\"></div>\r\n                <div (click)=\"addCustomTag(item.index)\" (mouseenter)=\"mouseEnterStatus(item.color)\" (mouseleave)=\"mouseLeaveStatus()\" *ngFor=\"let item of statusDel\" class=\"status-change-color-icon\" [ngClass]=\"{'open':statusTemp.length < 20}\" [style.background-color]=\"item.color\"></div>\r\n              </div>\r\n            </div>\r\n            <div class=\"status-picker-footer-wrapper editing\">\r\n              <div *ngIf=\"!isEditVisual\" class=\"status-picker-footer\" (click)=\"submitEditStatus(column.id,group.boardId)\">\r\n                应用\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"isDisabled\">\r\n      <div class=\"status-component-wrapper\" *ngIf=\"pulse.columnValues[column.id].index === item.index\">\r\n      <div style=\"cursor: default\" class=\"status-font-color\" [style.background-color]=\"item.color\">\r\n        <span *ngIf=\"item.label\">{{item.label}}</span>\r\n        <span *ngIf=\"!item.label\">&nbsp;</span>\r\n      </div>\r\n      </div>\r\n      <div class=\"status-component-wrapper\" *ngIf=\"pulse.columnValues[column.id].index === 0\">\r\n      <div style=\"cursor: default\" class=\"status-font-color\" [style.background-color]=\"'#c4c4c4'\">\r\n        <span>&nbsp;</span>\r\n      </div>\r\n      </div>\r\n      <div class=\"status-component-wrapper\" *ngIf=\"!pulse.columnValues[column.id].index\">\r\n      <div style=\"cursor: default\" class=\"status-font-color\">\r\n        <!--<span *ngIf=\"!item.label\">&nbsp;</span>-->\r\n        <span>&nbsp;</span>\r\n      </div>\r\n      </div>\r\n    </ng-container>\r\n  </ng-container>\r\n</ng-container>\r\n<!-- 强制完成录入 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isVisible\"\r\n  [nzFooter]=\"modalFooter\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzWidth]=\"'400px'\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  nzTitle=\"原因\"\r\n  (nzOnCancel)=\"handleCancel()\">\r\n  <textarea nz-input placeholder=\"请输入强制置状态原因\" [(ngModel)]=\"remarks\" [nzAutosize]=\"{ minRows: 3, maxRows: 5 }\"></textarea>\r\n  <ng-template #modalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleOk()\">提交</button>\r\n  </ng-template>\r\n</nz-modal>\r\n","styles":[".status-font-color{color:#fff}.new-status-picker-dialog-wrapper .status-picker-container{display:flex;justify-content:center}.status-picker-container{width:100%}.status-picker-wrapper{border-radius:4px;font-size:13px;height:100%;pointer-events:all;position:relative;transition:width .1s}.status-picker-wrapper:before{border-bottom-color:#c4c4c4;border-width:10px;right:50%;transform:translateX(50%)}.status-picker-wrapper:after,.status-picker-wrapper:before{border:solid hsla(0,0%,88.2%,0);bottom:100%;content:\" \";height:0;pointer-events:none;position:absolute;width:0}.status-picker-wrapper:after{border-bottom-color:#fff;border-width:8px;right:50%;transform:translateX(50%)}.status-picker-wrapper .status-picker-colors-view{align-content:space-between;padding-left:16px;padding-right:16px}.new-status-picker-color-option-viewing{-ms-grid-row-align:inherit;align-self:auto;border-radius:2px;color:#fff;cursor:pointer;flex:0 0 32px;font-weight:400;height:32px;line-height:32px;margin-bottom:8px;margin-right:8px;position:relative;text-align:center;transition:transform .1s ease-in-out,opacity .1s ease-in-out;width:134px}.new-status-picker-color-option-viewing .status-color-background{height:32px;line-height:32px;text-align:center;width:100%}.status-color-background:hover{opacity:.8}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.status-picker-wrapper .status-picker-footer-wrapper{flex:0 0 auto;height:30px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-top:2px solid #f1f1f1;color:#009aff;cursor:pointer;font-size:13px;height:40px;line-height:40px;position:relative;text-align:center;top:-3px;transition:color .1s;user-select:none}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer i{font-size:18px;margin-right:5px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer:hover{background:#009aff;color:#fff}.status-picker-wrapper .status-picker-editing-wrapper{transition:height .15s ease}.status-picker-wrapper .status-picker-colors-editing{align-content:flex-start}.status-picker-color-option-editing{-moz-user-select:none;-ms-grid-row-align:auto;-ms-user-select:none;-webkit-user-select:none;align-self:auto;border-radius:2px;display:flex;flex:0 0 40px;font-weight:400;height:40px;line-height:32px;position:relative;text-align:center;user-select:none;width:130px}.status-picker-color-option-editing .status-picker-drag-handle{color:#c4c4c4;cursor:move;flex:0 0 12px;padding:1px 2px 0 0}.status-picker-color-option-editing .status-picker-color-input-wrapper{border-radius:2px;display:flex;flex:0 0 104px;height:32px;width:104px}.status-picker-color-option-editing .status-picker-color-input-wrapper .color-option-box{border:1px solid transparent;border-radius:2px 0 0 2px;border-right-width:0;flex:0 0 16px;height:100%;padding-right:1px;width:18px}.status-picker-wrapper .status-picker-colors-editing,.status-picker-wrapper .status-picker-colors-view{align-items:flex-start;display:flex;flex:1 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;min-width:0;overflow:hidden;padding:16px 8px 0 2px;width:100%}.status-picker-color-option-editing .color-option-box:not(.is-disabled){cursor:pointer}.status-picker-color-option-editing .color-option-box{color:#fff;flex:0 0 16px;font-size:16px}.delete-status-icon-wrapper{cursor:pointer}.delete-status-icon-wrapper i{color:rgba(0,0,0,.1)}.delete-status-icon-wrapper:hover i{color:rgba(0,0,0,.8)}.color-option-box i,.delete-status-icon-wrapper i,.status-picker-drag-handle i{visibility:hidden}.status-picker-color-option-editing:hover .color-option-box i,.status-picker-color-option-editing:hover .delete-status-icon-wrapper i,.status-picker-color-option-editing:hover .status-picker-drag-handle i{visibility:visible}.delete-status-icon-wrapper{margin-left:3px}::ng-deep .status-edit-input.ant-input{background:#f7f7f7;border-left:none;border-radius:0 2px 2px 0}.status-change-color-wrapper .status-change-color{align-content:flex-start;align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:4px;position:absolute;transform:scaleY(0);transition:transform .15s ease;width:100%;z-index:1}.status-change-color-icon{border:1px solid #fff;border-radius:50%;cursor:pointer;height:20px;margin:4px;position:relative;transform:scale(0);transition:transform .15s ease;width:20px}.status-change-color-wrapper .status-change-color .status-change-color-background{background-color:#f7f7f7;border-bottom:2px solid #f1f1f1;border-top:2px solid #f1f1f1;height:36px;left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:center bottom;transition:transform .15s ease;width:100%}.status-change-color-wrapper .status-change-color.open,.status-change-color-wrapper .status-change-color .status-change-color-background.open{transform:scaleY(1)}.status-change-color-icon.open{transform:scale(1)}.status-change-color-icon.open:hover{box-shadow:0 1px 8px -2px #000;transform:scale(1.2)}.status-placeholder{cursor:pointer}.status-placeholder .status-placeholder-background{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;border:1px dashed #c4c4c4;border-radius:2px;color:#c4c4c4;display:flex;font-size:12px;height:32px;justify-content:center;margin:0 12px 0 15px;transition:background-color .2s ease-in;user-select:none;width:104px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3},"arguments":["nfBoardData"]}]}],"ChangeGroupData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3},"arguments":["nfGroupData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3},"arguments":["nfPulseData"]}]}],"changeDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3},"arguments":["nfDisabled"]}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":63,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"clickStatus":[{"__symbolic":"method"}],"mouseEnterStatus":[{"__symbolic":"method"}],"mouseLeaveStatus":[{"__symbolic":"method"}],"changeStatus":[{"__symbolic":"method"}],"setStatus":[{"__symbolic":"method"}],"editStatus":[{"__symbolic":"method"}],"submitEditStatus":[{"__symbolic":"method"}],"removeStatusTag":[{"__symbolic":"method"}],"addStatusTag":[{"__symbolic":"method"}],"addCustomTag":[{"__symbolic":"method"}],"getStatusWidth":[{"__symbolic":"method"}],"progressCalcValue":[{"__symbolic":"method"}],"queryStatusRequest":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"nf-dropdown","template":"<ng-container *ngIf=\"pulse.columnValues[column.id]\">\r\n  <div class=\"dropdown-cell-wrapper\">\r\n    <ng-container *ngIf=\"!isDisabled\">\r\n      <div class=\"dropdown-option-wrapper\" style=\"cursor: pointer;\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" nz-popover\r\n           [nzPopoverContent]=\"dropdownTemplate\" [style.width.px]=\"column.width?column.width:166\" (nzPopoverVisibleChange)=\"dropdownPopVisibleChange($event)\">\r\n        <div class=\"option-names with-counter-options\">\r\n          <ng-container *ngIf=\"pulse.columnValues[this.column.id] && pulse.columnValues[this.column.id].ids\">\r\n            <span *ngIf=\"pulse.columnValues[this.column.id].ids.length == 0\">&nbsp;</span>\r\n            <ng-container *ngIf=\"pulse.columnValues[this.column.id].ids.length > 2\">\r\n            <span class=\"option-name cell_focused\">\r\n              <div class=\"ds-text-component\">\r\n                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                  <ng-container *ngIf=\"col.id == pulse.columnValues[this.column.id].ids[0]\">\r\n                    <span nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n            </span>\r\n              <span class=\"option-name cell_focused\">\r\n              <div class=\"ds-text-component\">\r\n                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                  <ng-container *ngIf=\"col.id == pulse.columnValues[this.column.id].ids[1]\">\r\n                    <span nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n            </span>\r\n              <div class=\"dropdown-counter-component\">\r\n                <div class=\"dropdown-counter-text\" nz-tooltip [nzTooltipTitle]=\"tooltipTemplate\">+{{pulse.columnValues[this.column.id].ids.length - 2}}</div>\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"pulse.columnValues[this.column.id].ids.length <= 2\">\r\n              <ng-container *ngFor=\"let ids of pulse.columnValues[this.column.id].ids\">\r\n                <span class=\"option-name cell_focused\">\r\n                  <div class=\"ds-text-component\">\r\n                    <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                      <span *ngIf=\"ids == col.id\" nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                    </ng-container>\r\n                  </div>\r\n                </span>\r\n              </ng-container>\r\n            </ng-container>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"!pulse.columnValues[this.column.id] || !pulse.columnValues[this.column.id].ids\">\r\n            <span>&nbsp;</span>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"isDisabled\">\r\n      <div class=\"dropdown-option-wrapper\" [style.width.px]=\"column.width?column.width:166\">\r\n      <div class=\"option-names with-counter-options\">\r\n        <ng-container *ngIf=\"pulse.columnValues[this.column.id] && pulse.columnValues[this.column.id].ids\">\r\n          <span *ngIf=\"pulse.columnValues[this.column.id].ids.length == 0\">&nbsp;</span>\r\n          <ng-container *ngIf=\"pulse.columnValues[this.column.id].ids.length > 2\">\r\n            <span class=\"option-name cell_focused\">\r\n              <div class=\"ds-text-component\">\r\n                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                  <ng-container *ngIf=\"col.id == pulse.columnValues[this.column.id].ids[0]\">\r\n                    <span nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n            </span>\r\n            <span class=\"option-name cell_focused\">\r\n              <div class=\"ds-text-component\">\r\n                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                  <ng-container *ngIf=\"col.id == pulse.columnValues[this.column.id].ids[1]\">\r\n                    <span nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n            </span>\r\n            <div class=\"dropdown-counter-component\">\r\n              <div class=\"dropdown-counter-text\" nz-tooltip [nzTooltipTitle]=\"tooltipTemplate\">+{{pulse.columnValues[this.column.id].ids.length - 2}}</div>\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[this.column.id].ids.length <= 2\">\r\n            <ng-container *ngFor=\"let ids of pulse.columnValues[this.column.id].ids\">\r\n                <span class=\"option-name cell_focused\">\r\n                  <div class=\"ds-text-component\">\r\n                    <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                      <span *ngIf=\"ids == col.id\" nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                    </ng-container>\r\n                  </div>\r\n                </span>\r\n            </ng-container>\r\n          </ng-container>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!pulse.columnValues[this.column.id] || !pulse.columnValues[this.column.id].ids\">\r\n          <span>&nbsp;</span>\r\n        </ng-container>\r\n      </div>\r\n    </div></ng-container>\r\n  </div>\r\n</ng-container>\r\n<ng-template #dropdownTemplate>\r\n  <ng-container>\r\n    <div class=\"dropdown-template_content\">\r\n      <ng-container *ngFor=\"let col of column.settings.labels\">\r\n        <ng-container *ngFor=\"let id of pulse.columnValues[this.column.id].ids\">\r\n          <span *ngIf=\"id == col.id\">\r\n            <nz-tag\r\n              [nzMode]=\"'closeable'\"\r\n              (nzOnClose)=\"handleDropdownClose(col)\"\r\n            >\r\n              {{ sliceTagName(col.name) }}\r\n            </nz-tag>\r\n          </span>\r\n        </ng-container>\r\n      </ng-container>\r\n      <div class=\"dropdown-template_add-input\">\r\n        <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\r\n          <input\r\n            nz-input\r\n            placeholder=\"+ 新增标签\"\r\n            type=\"text\"\r\n            [(ngModel)]=\"dropdownInputValue\"\r\n            (keydown.enter)=\"handleDropdownInputConfirm()\"\r\n          />\r\n        </nz-input-group>\r\n        <ng-template #suffixIconButton>\r\n          <button nz-button nzType=\"primary\" (click)=\"handleDropdownInputConfirm()\" nzSearch>确定</button>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"dropdown-template_add-list\">\r\n        <ul class=\"dropdown-template_add-options\">\r\n          <ng-container *ngIf=\"isDropdownOptionEdit\">\r\n            <ng-container *ngFor=\"let option of column['settings']['labels']\">\r\n              <li class=\"view-option\" (click)=\"handleDropdownOption(option)\">\r\n                <span data-id=\"{{option.id}}\">{{option.name}}</span>\r\n              </li>\r\n            </ng-container>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"!isDropdownOptionEdit\">\r\n            <ng-container *ngFor=\"let option of column['settings']['labels'];let i = index\">\r\n              <li class=\"edit-option\">\r\n                <input nz-input [(ngModel)]=\"option.name\"/>\r\n                <ng-container *ngIf=\"selectedValue.includes(option['id'])\">\r\n                  <span style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"选项已经使用，无法删除\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"!selectedValue.includes(option['id'])\">\r\n                  <span (click)=\"doRemoveDropdownOption(i)\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n                </ng-container>\r\n              </li>\r\n            </ng-container>\r\n          </ng-container>\r\n        </ul>\r\n      </div>\r\n      <div *ngIf=\"isDropdownOptionEdit\" class=\"dropdown-template_edit-status\" (click)=\"doEditDropdownLabels()\" style=\"display: block;\">\r\n        <div>编辑</div>\r\n      </div>\r\n      <div *ngIf=\"!isDropdownOptionEdit\" class=\"dropdown-template_edit-status\" style=\"display: flex;\">\r\n        <div style=\"flex:1\" (click)=\"submitDropdownLabelsChange()\">提交</div>\r\n        <div style=\"flex:1\" (click)=\"dropdownLabelsChangeCancel()\">取消</div>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</ng-template>\r\n<ng-template #tooltipTemplate>\r\n  <ng-container *ngFor=\"let col of column.settings.labels\">\r\n    <ng-container *ngFor=\"let ids of pulse.columnValues[this.column.id].ids;let i = index\">\r\n          <span *ngIf=\"ids == col.id && i > 1\">\r\n            <div>{{col.name}}</div>\r\n          </span>\r\n    </ng-container>\r\n  </ng-container>\r\n</ng-template>\r\n","styles":[".dropdown-cell-wrapper{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.dropdown-cell-wrapper .dropdown-option-wrapper{align-items:center;display:flex;justify-content:center;overflow:hidden;padding:0 8px}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names{display:flex;height:100%;justify-content:center;min-width:0}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names .option-name.cell_focused{background-color:#fff}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names .option-name{background-color:#e5f4ff;border-radius:24px;color:#009aff;display:flex;flex:0 1 auto;font-size:12px;line-height:24px;margin:2px;min-width:0;padding:0 4px}.dropdown-cell-wrapper .dropdown-option-wrapper .ds-text-component{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-counter-component{align-items:center;display:flex;justify-content:center;padding:0 8px;width:8px}.dropdown-counter-component .dropdown-counter-text{background-color:#000;border-radius:20px;color:#fff;font-size:10px;height:21px;line-height:17px;margin-left:8px;max-width:28px;min-width:20px;padding:2px 0}.dropdown-counter-component .dropdown-counter-text:before{content:attr(extracount)}.dropdown-template_content{width:250px}.dropdown-template_add-button{margin:10px 0}::ng-deep .dropdown-template_add-button .ant-btn{width:100%}.dropdown-template_add-input{margin:10px 0;width:100%}::ng-deep .dropdown-template_content .ant-tag{margin-bottom:5px;margin-right:5px}.dropdown-template_add-options{max-height:200px;overflow-y:auto}.dropdown-template_add-options li{background:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:300;height:30px;line-height:30px;outline:none;padding:0 8px;width:100%}.dropdown-template_add-options li.view-option:hover{background:#009aff;color:#fff}.dropdown-template_add-options li.edit-option{margin:5px 0}::ng-deep .dropdown-template_add-options li.edit-option .ant-input{border-style:dashed;width:90%}.dropdown-template_add-options li.edit-option span{color:rgba(0,0,0,.4);font-size:16px;margin-left:5px}.dropdown-template_add-options::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.dropdown-template_add-options::-webkit-scrollbar{height:5px;width:7px}.dropdown-template_add-options::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.1);border:1px solid rgba(85,85,85,.1)}.dropdown-template_add-options::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.dropdown-template_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px;text-align:center;width:100%}.dropdown-template_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3},"arguments":["nfPulseData"]}]}],"changeDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3},"arguments":["nfDisabled"]}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":47,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"dropdownPopVisibleChange":[{"__symbolic":"method"}],"handleDropdownClose":[{"__symbolic":"method"}],"sliceTagName":[{"__symbolic":"method"}],"handleDropdownInputConfirm":[{"__symbolic":"method"}],"checkExist":[{"__symbolic":"method"}],"handleDropdownOption":[{"__symbolic":"method"}],"doEditDropdownLabels":[{"__symbolic":"method"}],"submitDropdownLabelsChange":[{"__symbolic":"method"}],"dropdownLabelsChangeCancel":[{"__symbolic":"method"}],"doRemoveDropdownOption":[{"__symbolic":"method"}],"getDropdownOptionId":[{"__symbolic":"method"}],"patchDropdownColumnData":[{"__symbolic":"method"}],"patchDropdownPulseData":[{"__symbolic":"method"}],"getUserIds":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"nf-archive","template":"<div class=\"archive-wrapper\">\r\n  <div class=\"archive-content\">\r\n    <div class=\"archive-header\">\r\n      <div class=\"main-header-and-back-button\">\r\n        <div class=\"archive-header-text\">\r\n          <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档面板 / <strong>{{this.boardName}}</strong>\r\n        </div>\r\n        <div>\r\n          <!--<a class=\"back-link\" [routerLink]=\"'/task-center/panel'\"><i nz-icon [iconfont]=\"'icon-zuojiantou'\"></i>返回面板</a>-->\r\n          <a class=\"back-link\" (click)=\"changeLinkStatus()\"><i nz-icon [nzIconfont]=\"'icon-zuojiantou'\"></i>返回面板</a>\r\n        </div>\r\n      </div>\r\n      <div class=\"sub-header-and-search\">\r\n        <div class=\"archive-sub-header-text\">查询和恢复归档的面板和任务。</div>\r\n        <div class=\"archive-filter-input-wrapper\">\r\n          <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n            <input [(ngModel)]=\"queryKeyword\" (keyup.enter)=\"getRecycleList()\" style=\"width:250px\" type=\"text\" nz-input placeholder=\"搜索\" />\r\n          </nz-input-group>\r\n          <ng-template #suffixIconSearch>\r\n            <i nz-icon nzType=\"search\"></i>\r\n          </ng-template>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"archive-item-collection\">\r\n<!--      <ng-container *ngIf=\"isBlank\">-->\r\n<!--        <nz-empty></nz-empty>-->\r\n<!--      </ng-container>-->\r\n      <ng-container >\r\n        <nz-spin nzTip=\"加载中\" [nzSpinning]=\"loading\">\r\n        <nz-tabset [(nzSelectedIndex)]=\"index\" *ngIf=\"showLabel\">\r\n          <nz-tab *ngFor=\"let tab of labelList\" [nzTitle]=\"titleTemplate\" (nzClick)=\"changeLabel(tab.name)\">\r\n            <ng-template #titleTemplate>\r\n              <span [style.color]=\"tab.color\"><i class=\"tags-icon\" nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i> {{ tab.name }}</span>\r\n            </ng-template>\r\n            <div class=\"simple-statistics-list-table\">\r\n              <ng-container [ngTemplateOutlet]=\"labelGroup\"></ng-container>\r\n            </div>\r\n          </nz-tab>\r\n        </nz-tabset>\r\n          <ng-container *ngIf=\"!showLabel\" [ngTemplateOutlet]=\"labelGroup\"></ng-container>\r\n        </nz-spin>\r\n\r\n<!--        <nz-spin nzTip=\"加载中\" [nzSpinning]=\"loading\">-->\r\n<!--          <div class=\"archive-outer-item\" *ngFor=\"let item of tableData\">-->\r\n<!--            <div class=\"archive-item\" [ngClass]=\"{'clickable_' : item.objectType == 'pulse'}\">-->\r\n<!--              <div class=\"item-type-icon\" title=\"点击查看详情\" (click)=\"viewArchiveDetail(item)\">-->\r\n<!--                <div class=\"image-container\" *ngIf=\"item.objectType == 'pulse'\">-->\r\n<!--                  <img class=\"archive-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABACAYAAACNx/A2AAAAAXNSR0IArs4c6QAABFdJREFUeAHtnF9IU1Ecx911zgoW0cLoITcG0UMIgjqZZW9KvgRaVgRWL77Va8+zl156CR+CeimkiKzEYhWDYj048R9F/8AyMPsDKi4rIrf2p+9v7ux4dXp37zVw2+/A8ZzzO7/v9f4+/M69bt57Skq4mCJgyUVdU1NT5na7c/LN5Xj54DM7O5sIBoMxrXPNCgXAqiwWS0cymTyE1oXWrnWgQpxH7GHENYH4HyqKcmNkZOTz8jhVAOvr67fGYrHLcDqFqixx/ot+csk4W7cMRjpeNNtkvtkATwE4qzhvjBdQL7lcLl9vb288Yxedurq63RA8Rt0HWwTO19DeLi8vfzUwMPBL+K3WIms/Ya4S1Tk2Nja1ml8+2b1e73YklAdMTqMex7lTggQcDkdbIBD4TbGkCCP4LXB4gErwXqO2jo6OfiSHYi6Dg4O0hJ9QRYJ1g8891OZwOHwd7TEkWVIs0y4YqmEYh3MjMqjo4S1PHFz/QqWlpQdhnwerowDaQT4Ksm8XwJ1FP4n2BOD9oAkuKwkMDQ19wM2EWJUA4oX29vZSBdCOYLAJbR8ov1wpY8tSAsPDw7fA6j1szsnJyQO0hJvIAcb71HJZmwA40UrtIy8kXhMBpDsnlbeLDf/UIgBwglUlAXSkBXNaQp7PEBCsHAQw9cc0Lo5afyhn1NzJfKiwEEAuJggwQBPwSMoAGaBJAiblnIEM0CQBk3LOQAZokoBJOWcgAzRJwKScM5ABmiRgUp75r5PJ42TkiUSimr7lzhgKsIMY9+I7wVRk6w4Q3+r0FyAzVUgCHhn5GqhCo3/AAPUzUykYoAqH/gED1M9MpWCAKhz6BwxQPzOVggGqcOgfMED9zFQKBqjCoX/AAPUzUynW/aMcjh7AR50/qt9SeIMKPN7hpbD+B8BOPJw5VXjMZES1tbUtGD0iCy9hycVQjwEawiZFDFCyMNRjgIawSREDlCwM9RigIWxSxAAlC0M9BmgImxQxQMnCUI8BGsImRQxQsjDUY4CGsEkRA5QsDPUYoCFsUkQA52kYj8e3STP3NAgIVvP0WvtXcsYzLXs0RDydJoAvjAWrL5SBQbIjAw9Ty0WbAJ7OSrFC8j1XbDbbXUgSqCcbGhqc2vLi9sCje80gUIMsnLPb7U8V7AswAUMPqi0SifTAoay4Ea0ePdjswOxV8kD2XcS+MgupuzB25jgPorQnSiPaftr+hJy4SALp1fkMFicYhbARUTfNpgCGQqEZGGldz4BsC66H46B9DqIKcsqlQP8Cft+Q1jO5+OeLDzaXcINFF1bnG5xzFeo7bD7Rhr1jUvvjLD6nmo6GKEej0ZuAuD9totfbp9GnF4xzeZ+YjpeLX/rwG7cBA9pPYida8UI6newdq9Xaic0nfoozVwEURo/H04o7zRmMm3CAzcJepO13gPSjXqGtT5YzyApQOPl8PsXv99MydgDkmr5CUygtlmkCMU9jlw7xen+hhLax4vgHYLY4ITXuqiYAAAAASUVORK5CYII=\" />-->\r\n<!--                  <div class=\"archive-text\">任务</div>-->\r\n<!--                </div>-->\r\n<!--                <div class=\"image-container\" *ngIf=\"item.objectType == 'group'\">-->\r\n<!--                  <img class=\"archive-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABACAYAAACNx/A2AAAAAXNSR0IArs4c6QAAA+lJREFUeAHtnE1oE0EUx7vbNKlCRIhUPNiGiCcpiElarPbYYi9Cq3gQKl569Oo5PXnxIh4EvShFECOKShQCSjw0pR9B8QsKVVq/oA2NRVGbmA//L2SSTkibHceCzb6B6dv35r1h369vdpewO01N3LQIGFai/X5/i8/ns+RrZb6t4JNMJvOxWCxb71xrQgGwTsMwhguFwjFIL6S73kSNOI7cU8hrDvk/NE3zxvT09MfqPCWA3d3dO7LZ7CU4nUE31zj/xnFhjV7rsAVGab5aTlvIRvmW8wHMVfSLXq83FA6HcyKPskMwGNwL0o/RD2AwDedrkLdcLtfL8fHx7yJgPYmqXcBY+3rjDWAXQKMej2coGo3+oJwc9AfJbwe4ByV4r2AanJmZeUdj3MoEUFNGFoz6U6nUdchT0AtimY7CcBCGWbj3JhIJhlfmVjkAIyo4gngSK3aYRgxU3x6Aew+jCxfKQ7hQvqiEWD+ywRKuhrGAJ5N9JuCdALxWyHt/C696ZhvoP5Fjx/z8/FFawn2UMADeJcnNEoFW8kLh9RFAced8YymUnYiAuHe004GnxGS5JFlYJ+AhgMVnQdxA6j0oW5/WPp6GKEX7pPyPM2WAmkAZIAPUJKAZzhXIADUJaIZzBTJATQKa4VyBDFCTgGY4VyAD1CSgGc4VyAA1CWiGcwUyQE0CmuFcgQxQk4BmOFcgA9QkoBnOFcgANQlohnMFMkBNAprhxfcDNeeoDo/iPZtf1cYG09vwXsxhymkzAI7g5cwPDQZMSicQCAzA8IiMfA2U0KgrDFCdmRTBACUc6goDVGcmRTBACYe6wgDVmUkRDFDCoa4wQHVmUgQDlHCoKwxQnZkUwQAlHOoKA1RnJkUwQAmHusIA1ZlJEQRwhSy5XG6nNMLKRgQEqxUTPwx+Jk98qbR/owgeqxDAD8aC1SeqwBgNoQKPk+RWn0A+ny+yQvE9M51O5x2E5NFP9/T0dNQPt7cHPizvBwE/qnDZ7XY/MScmJuZgGEN3ptPpMTi02BvR+tmDzS6MXiUPVN8F7CuzWrwLY2eO8yBKe6L0Qt6n7U/IiVuFQGl1PoWlA4zi+Nz/Mo0WAcbj8SUYaV0vgewAroezoH0OQW3kZKUh/jn8vqCsl6z4bxUfbC7hA4tRrM7XOOdO9LfNzc1D2DsmQzmU940hhShnMpmbgHiEdLQCwCxC0sfYVr4npvms+MHt/25gQPtJ7IYUH6TTCd92OBwjk5OT38TZSwCFsauraxB3mrPQ+zDBNmG3qfwKkBH0K9iUI17NoCZA4RQKhcxIJELL2AOQG/qKmEaRWKZ55Lw4NTXFWyFs5j/1DzrPCiW1u6fMAAAAAElFTkSuQmCC\" />-->\r\n<!--                  <div class=\"archive-text\">组</div>-->\r\n<!--                </div>-->\r\n<!--                <div class=\"image-container\" *ngIf=\"item.objectType == 'board'\">-->\r\n<!--                  <img class=\"archive-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABACAYAAACNx/A2AAAAAXNSR0IArs4c6QAAA3lJREFUeAHtnM1rE0EYxrubNKlCRFgQQrBNIp5EKJYkEC2IEPEktIoHIaL/hOd48uJFxJMXpQhCRLEShIAYDzHkC0TxIFRJjR5KaKhKpYn58HlDNm1C2l189ZDsOzCZnZn3Gfr++uzHZWZiQgqLgGJGPTc3N+n3+03FmllvFGIqlUorlUo1jP7WoVAA7LiiKNF2u30OrRety2ihcZxH7lXktYL8n6uq+iCfz5cH8+wDGAqFDjQajdsIuoKq7gj+jev2jv6wy0kM9q03LGiExijfXj6AuYV6y+v1xuLxeFPPoxcQCAQOg/QL1GOYrCH4HtpHTqfzXTqd/qkLdmvh2lXMTe82PwbjOtCkpmmLyWRyk3Ky0w+S3w9wy1147zG0UCgUPtGclB4BeEppgNHZarV6H+0l9Nv6bXoDA7MY+Ijw+WKxKPB63LYvwIgMRxAv4o6N0owC97kB7jMGnXhQnsCD8u22xPyVBW7hQRir+DI5ogLeBcCbQvv0b+ENrmyB/i/kOFMqlU7RLRyhhAHwCbVSTBGYoigYL0IA9TfnB1NSCSIC+rtjmi60LpP1biuNeQIaAex8C+IFYvShbH5Z60QquhWtk/I/zlQAMoEKQAHIJMCUiwMFIJMAUy4OFIBMAky5OFAAMgkw5eJAAcgkwJSLAwUgkwBTLg4UgEwCTLk4UAAyCTDl4kAByCTAlIsDBSCTAFMuDhSATAJMuThQADIJMOXiQAHIJMCUiwMFIJMAUy4OFIBMAky5OFAAMgkw5eJAAcgkwJSLAwUgkwBTLg4UgEwCTDk5cIPWaDabB5lrWVG+oWLD3DfKHDuVjlqRADPnr+TAFC0CB56nVop5AjDfa9XhcDyGpIV6ORwOz5iXWzsS24PXXS7XSzWTyawAxRKqo1arLWHnOZ2+IcWAANx3E+fKbHU+Y3Ayx3UQpTNR5tE+o+NPDPSWngajPLb73yEINvopl8ubHo/nFaguojuL9prb7a77fL4SzVGMUYH+NGIOoe4zih3x+S92u/0Mjj35QXn0zo2hDj0D6/X6QwA8SX2UNmivoaXN2Ib7iaGjE47G9jkKFss2my2azWY78JBrP0AaoBIMBhdardZVXEYAZdwdRSnvVb5jMoHPvLs4lOPNYGCfAwcnY7GYmkgk6LbUAHLP2EHtqPfhtBZyXsvlcnIUwv/8Z/4BwOnw7dXLimgAAAAASUVORK5CYII=\" />-->\r\n<!--                  <div class=\"archive-text\">面板</div>-->\r\n<!--                </div>-->\r\n<!--              </div>-->\r\n<!--              <div class=\"user-image-container\">-->\r\n<!--                <img *ngIf=\"item.photoUrl\" src=\"\" class=\"user-image\" />-->\r\n<!--                <i *ngIf=\"!item.photoUrl\" nz-icon [nzIconfont]=\"'icon-owner'\" class=\"user-image\"></i>-->\r\n<!--              </div>-->\r\n<!--              <div class=\"item-text\">-->\r\n<!--                <span><a>{{item.userName}}</a> 归档 <span class=\"item-text-bold\">{{this.boardName}}</span> 的<span *ngIf=\"item.objectType == 'pulse'\">任务</span><span *ngIf=\"item.objectType == 'group'\">组</span><span *ngIf=\"item.objectType == 'board'\">面板</span> <span class=\"item-text-bold\" style=\"margin-left:5px\">{{item.objectName}}</span></span>-->\r\n<!--                <div class=\"time\"><i nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i>{{item.updatedAt | date:'yyyy-MM-dd'}}</div>-->\r\n<!--              </div>-->\r\n<!--              <div class=\"restore-button\">-->\r\n<!--                <button nz-button nzType=\"primary\" nz-popconfirm nzPopconfirmTitle=\"是否确认恢复归档?\" (nzOnConfirm)=\"doRestoreRecycle(item.id)\">恢复</button>-->\r\n<!--              </div>-->\r\n<!--            </div>-->\r\n<!--          </div>-->\r\n<!--        </nz-spin>-->\r\n      </ng-container>\r\n    </div>\r\n    <div class=\"page-nav\" *ngIf=\"!isBlank\">\r\n      <nz-pagination\r\n        [nzShowTotal]=\"totalTemplate\"\r\n        [nzPageIndex]=\"pageIndex\"\r\n        [nzTotal]=\"total\"\r\n        [nzPageSize]=\"pageSize\"\r\n        nzShowQuickJumper\r\n        nzShowSizeChanger\r\n        (nzPageIndexChange)=\"changePageIndex($event)\"\r\n        (nzPageSizeChange)=\"changePageSize($event)\"></nz-pagination>\r\n      <ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n<ng-template #labelGroup>\r\n  <nz-table #basicTable\r\n            [nzShowPagination]=\"false\"\r\n            [nzPageSize]=\"100\"\r\n            [nzData]=\"groupData\">\r\n    <thead>\r\n    <tr>\r\n      <th>分组名称</th>\r\n      <th>所属面板</th>\r\n      <th>操作人</th>\r\n      <th>已归档</th>\r\n      <th>操作</th>\r\n    </tr>\r\n    </thead>\r\n    <tbody>\r\n    <tr *ngFor=\"let data of basicTable.data\">\r\n      <td><a (click)=\"viewArchiveDetail(data)\">{{data.title}}</a>\r\n      </td>\r\n      <td>{{ data.boardName}}</td>\r\n      <td>{{data.userName}}</td>\r\n      <td>{{data.total}}</td>\r\n      <td>\r\n        <a nz-popconfirm nzPopconfirmTitle=\"是否确认恢复分组?\" (nzOnConfirm)=\"doRestoreRecycle('group', data.groupId)\">恢复分组</a>\r\n        <a style=\"margin-left:15px\"\r\n           nz-popover\r\n           nzPopoverTitle=\"选择需要恢复的任务\"\r\n           (nzPopoverVisibleChange)=\"taskChange($event, data)\"\r\n           nzPopoverTrigger=\"click\"\r\n           [nzPopoverContent]=\"taskContentTemplate\">恢复任务</a>\r\n        <ng-template #taskContentTemplate>\r\n          <ul class=\"archive-pulse-list\" *ngFor=\"let item of archivePulseList\">\r\n            <li nz-popconfirm nzPopconfirmTitle=\"是否确认恢复任务?\" (nzOnConfirm)=\"doRestoreRecycle('pulse', item.id)\"><img style=\"width:16px;margin-right:6px\" class=\"archive-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABACAYAAACNx/A2AAAAAXNSR0IArs4c6QAABFdJREFUeAHtnF9IU1Ecx911zgoW0cLoITcG0UMIgjqZZW9KvgRaVgRWL77Va8+zl156CR+CeimkiKzEYhWDYj048R9F/8AyMPsDKi4rIrf2p+9v7ux4dXp37zVw2+/A8ZzzO7/v9f4+/M69bt57Skq4mCJgyUVdU1NT5na7c/LN5Xj54DM7O5sIBoMxrXPNCgXAqiwWS0cymTyE1oXWrnWgQpxH7GHENYH4HyqKcmNkZOTz8jhVAOvr67fGYrHLcDqFqixx/ot+csk4W7cMRjpeNNtkvtkATwE4qzhvjBdQL7lcLl9vb288Yxedurq63RA8Rt0HWwTO19DeLi8vfzUwMPBL+K3WIms/Ya4S1Tk2Nja1ml8+2b1e73YklAdMTqMex7lTggQcDkdbIBD4TbGkCCP4LXB4gErwXqO2jo6OfiSHYi6Dg4O0hJ9QRYJ1g8891OZwOHwd7TEkWVIs0y4YqmEYh3MjMqjo4S1PHFz/QqWlpQdhnwerowDaQT4Ksm8XwJ1FP4n2BOD9oAkuKwkMDQ19wM2EWJUA4oX29vZSBdCOYLAJbR8ov1wpY8tSAsPDw7fA6j1szsnJyQO0hJvIAcb71HJZmwA40UrtIy8kXhMBpDsnlbeLDf/UIgBwglUlAXSkBXNaQp7PEBCsHAQw9cc0Lo5afyhn1NzJfKiwEEAuJggwQBPwSMoAGaBJAiblnIEM0CQBk3LOQAZokoBJOWcgAzRJwKScM5ABmiRgUp75r5PJ42TkiUSimr7lzhgKsIMY9+I7wVRk6w4Q3+r0FyAzVUgCHhn5GqhCo3/AAPUzUykYoAqH/gED1M9MpWCAKhz6BwxQPzOVggGqcOgfMED9zFQKBqjCoX/AAPUzUynW/aMcjh7AR50/qt9SeIMKPN7hpbD+B8BOPJw5VXjMZES1tbUtGD0iCy9hycVQjwEawiZFDFCyMNRjgIawSREDlCwM9RigIWxSxAAlC0M9BmgImxQxQMnCUI8BGsImRQxQsjDUY4CGsEkRA5QsDPUYoCFsUkQA52kYj8e3STP3NAgIVvP0WvtXcsYzLXs0RDydJoAvjAWrL5SBQbIjAw9Ty0WbAJ7OSrFC8j1XbDbbXUgSqCcbGhqc2vLi9sCje80gUIMsnLPb7U8V7AswAUMPqi0SifTAoay4Ea0ePdjswOxV8kD2XcS+MgupuzB25jgPorQnSiPaftr+hJy4SALp1fkMFicYhbARUTfNpgCGQqEZGGldz4BsC66H46B9DqIKcsqlQP8Cft+Q1jO5+OeLDzaXcINFF1bnG5xzFeo7bD7Rhr1jUvvjLD6nmo6GKEej0ZuAuD9totfbp9GnF4xzeZ+YjpeLX/rwG7cBA9pPYida8UI6newdq9Xaic0nfoozVwEURo/H04o7zRmMm3CAzcJepO13gPSjXqGtT5YzyApQOPl8PsXv99MydgDkmr5CUygtlmkCMU9jlw7xen+hhLax4vgHYLY4ITXuqiYAAAAASUVORK5CYII=\" /> {{item.name}}</li>\r\n          </ul>\r\n        </ng-template>\r\n      </td>\r\n    </tr>\r\n    </tbody>\r\n  </nz-table>\r\n</ng-template>\r\n\r\n<nz-modal [(nzVisible)]=\"viewVisible\" [nzWidth]=\"viewModalWidth\" nzOkText=\"确定\" [nzCancelText]=\"null\" (nzOnOk)=\"viewVisible=false\" (nzOnCancel)=\"viewVisible=false\">\r\n  <div *ngIf=\"viewVisible\">\r\n    <div style=\"max-height: 600px; margin-top: 10px; overflow: auto;\">\r\n      <task-table [nfData]=\"boardData\"></task-table>\r\n    </div>\r\n  </div>\r\n</nz-modal>\r\n","styles":["@import url(../../widget/pulse-card/pulse-card.component.css);.archive-wrapper{background:#fff}.archive-content{padding:20px 20px 0 50px}.archive-header{position:relative}.main-header-and-back-button,.sub-header-and-search{align-items:center;display:flex;justify-content:space-between}.archive-header-text{color:#333;font-size:26px;font-weight:500;letter-spacing:0;text-align:left}.archive-sub-header-text{color:#333;font-size:14px;text-align:left}.archive-filter-input-wrapper{padding:2px 0;position:relative}.archive-item-collection{margin-top:20px;position:relative}.archive-outer-item{display:flex;height:96px;margin-bottom:24px}.archive-item{align-items:center;border:1px solid #e1e1e1;border-radius:2px;cursor:pointer;display:flex;flex:1 1 auto;transition:all .2s ease-in;zoom:1}.archive-item:hover{box-shadow:0 0 4px 2px rgba(0,0,0,.1);position:relative}.clickable{cursor:pointer}.archive-item .item-type-icon{align-items:center;border-right:1px solid #f1f1f1;display:flex;flex:0 0 96px;height:100%;justify-content:center}.archive-item .user-image-container{line-height:0;margin-left:24px}.archive-item .item-text{flex:1 1 auto;margin-left:16px}.archive-item .restore-button{margin-left:48px;margin-right:24px}.image-container{margin-top:8px;text-align:center}.archive-image{width:40px}.archive-text{font-size:16px;font-weight:300;letter-spacing:0}.user-image{border-radius:50%;color:#c4c4c4;font-size:55px;height:50px;width:50px}.item-text-bold{font-weight:700}.item-text .time{margin-top:10px}.item-text .time i{margin-right:5px}.page-nav{margin-top:20px;text-align:center}::ng-deep .archive-content .ant-input-affix-wrapper .ant-input-suffix{right:12px}::ng-deep .disabled-date .ant-picker-input>input[disabled]{color:rgba(0,0,0,.75)}.multiple-person-bullet{background-color:#2196f3;border-radius:50%;color:#fff;height:32px;line-height:32px;width:32px}.multiple-person-bullet .person-bullet-component{flex-shrink:0}.extra-persons-indicator-component{align-items:center;background-color:#333;border-radius:25px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:300;height:25px;justify-content:center;min-width:25px;padding:0 5px;position:relative}ul.archive-pulse-list li{border-bottom:1px solid #efefef;cursor:pointer;height:30px;line-height:20px;padding:3px}ul.archive-pulse-list li:hover{background:#00a9ff;border-radius:4px;color:#fff}"]}]}],"members":{"linkChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"changeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3},"arguments":["boardId"]}]}],"changeName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3},"arguments":["boardName"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":52,"character":26},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":54,"character":21},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getRecycleList":[{"__symbolic":"method"}],"changePageIndex":[{"__symbolic":"method"}],"changePageSize":[{"__symbolic":"method"}],"doRestoreRecycle":[{"__symbolic":"method"}],"viewArchiveDetail":[{"__symbolic":"method"}],"changeLinkStatus":[{"__symbolic":"method"}],"changeLabel":[{"__symbolic":"method"}],"getAvatarColor":[{"__symbolic":"method"}],"taskChange":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"nf-pulse-card","providers":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":12,"character":27}],"template":"<div class=\"pulse-card-dialog-scrollable-wrapper\">\r\n  <div class=\"pulse-card-wrapper-component\">\r\n    <div class=\"pulse-card-component\">\r\n      <div class=\"pulse-card-cell-wrapper\" *ngIf=\"taskView === 'calendar'\">\r\n        <div class=\"column-title\">\r\n          <div class=\"column-icon\"><i nz-icon [nzIconfont]=\"'icon-yuanquan'\"></i></div>\r\n          任务组\r\n        </div>\r\n        <div class=\"pulse-card-cell-wrapper-component\">\r\n          <div class=\"cell-wrapper\">\r\n            <div class=\"cell-component\">\r\n              <nz-select\r\n                style=\"width: 100%\"\r\n                nzShowSearch\r\n                nzPlaceHolder=\"选择分组\"\r\n                (ngModelChange)=\"changeGroup($event)\"\r\n                [(ngModel)]=\"selectedGroup\"\r\n              >\r\n                <nz-option *ngFor=\"let option of boardGroupData\" nzLabel=\"{{option.title}}\" nzValue=\"{{option.id}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <ng-container *ngFor=\"let column of this.boardColumnData\">\r\n        <ng-container [ngSwitch]=\"column.type\">\r\n          <!-- 任务标题 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'name'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-fabu'\"></i>\r\n              </div>\r\n              标题\r\n            </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                   <input nz-input placeholder=\"\" [(ngModel)]=\"addTaskData[column.id]\" />\r\n                  </div>\r\n                </div>\r\n            </div>\r\n          </div>\r\n          <!-- 文本组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'text'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-wenben'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\">\r\n                  <input nz-input placeholder=\"\" [(ngModel)]=\"addTaskData[column.id]\" />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 日期组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'date'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\" style=\"padding:0\">\r\n                  <ng-container *ngIf=\"dateColumnEnable\">\r\n                    <div style=\"width: 100%; min-height: 40px; cursor: pointer; text-align: left; padding-left: 10px;\" nz-popover\r\n                         [nzPopoverTitle]=\"null\" nzPopoverPlacement=\"bottom\"\r\n                         [(nzPopoverVisible)]=\"addTaskData[column.id]['visible']\" nzPopoverTrigger=\"click\"\r\n                         [nzPopoverContent]=\"dateContentTemp\">\r\n                      <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'A'\">\r\n                        {{addTaskData[column.id].date | date: 'yyyy-MM-dd'}}\r\n                      </ng-container>\r\n                      <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'B'\">\r\n                        任务创建日期\r\n                      </ng-container>\r\n                    </div>\r\n                    <ng-template #dateContentTemp>\r\n                      <div style=\"padding: 5px;\">\r\n                        <nz-radio-group [(ngModel)]=\"addTaskData[column.id]['radioValue']\" (ngModelChange)=\"dateTypeChange(addTaskData[column.id])\">\r\n                          <label nz-radio nzValue=\"A\">固定日期</label>\r\n                          <label nz-radio nzValue=\"B\">任务创建日期</label>\r\n                        </nz-radio-group>\r\n                      </div>\r\n                      <div>\r\n                        <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'A'\">\r\n                          <nz-date-picker style=\"width: 100%; height: 40px;\" [(ngModel)]=\"addTaskData[column.id].date\"></nz-date-picker>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'B'\">\r\n                          <input nz-input readonly [ngModel]=\"'任务创建日期'\"/>\r\n                        </ng-container>\r\n                      </div>\r\n                    </ng-template>\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"!dateColumnEnable\">\r\n                    <nz-date-picker style=\"width: 100%; height: 40px;\" [(ngModel)]=\"addTaskData[column.id].date\"></nz-date-picker>\r\n                  </ng-container>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 日期时间组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'date-time'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\" style=\"padding:0\">\r\n                  <ng-container *ngIf=\"dateColumnEnable\">\r\n                    <div style=\"width: 100%; min-height: 40px; cursor: pointer; text-align: left; padding-left: 10px;\" nz-popover\r\n                         [nzPopoverTitle]=\"null\" nzPopoverPlacement=\"bottom\"\r\n                         [(nzPopoverVisible)]=\"addTaskData[column.id]['visible']\" nzPopoverTrigger=\"click\"\r\n                         [nzPopoverContent]=\"dateTimeContentTemp\">\r\n                      <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'A'\">\r\n                        {{addTaskData[column.id].dateTime | date: 'yyyy-MM-dd HH:mm'}}\r\n                      </ng-container>\r\n                      <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'B'\">\r\n                        任务创建时的日期时间\r\n                      </ng-container>\r\n                    </div>\r\n                    <ng-template #dateTimeContentTemp>\r\n                      <div style=\"padding: 5px;\">\r\n                        <nz-radio-group [(ngModel)]=\"addTaskData[column.id]['radioValue']\" (ngModelChange)=\"dateTimeTypeChange(addTaskData[column.id])\">\r\n                          <label nz-radio nzValue=\"A\">固定日期</label>\r\n                          <label nz-radio nzValue=\"B\">任务创建时的日期时间</label>\r\n                        </nz-radio-group>\r\n                      </div>\r\n                      <div style=\"padding: 5px;\">\r\n                        <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'A'\">\r\n                          <nz-date-picker style=\"width: 100%; height: 40px;\" [nzShowTime]=\"{nzFormat: 'HH:mm'}\" nzFormat=\"yyyy-MM-dd HH:mm\"\r\n                                          [(ngModel)]=\"addTaskData[column.id].dateTime\"></nz-date-picker>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'B'\">\r\n                          <input nz-input readonly [ngModel]=\"'任务创建时的日期时间'\"/>\r\n                        </ng-container>\r\n                      </div>\r\n                    </ng-template>\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"!dateColumnEnable\">\r\n                    <nz-date-picker style=\"width: 100%; height: 40px;\" [nzShowTime]=\"{nzFormat: 'HH:mm'}\"\r\n                                    [(ngModel)]=\"addTaskData[column.id].dateTime\" nzFormat=\"yyyy-MM-dd HH:mm\"></nz-date-picker>\r\n                  </ng-container>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 时间区间 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'time-interval'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\" style=\"padding:0\">\r\n                  <ng-container *ngIf=\"dateColumnEnable\">\r\n                    <div style=\"width: 100%; min-height: 40px; cursor: pointer; text-align: left; padding-left: 10px;\" nz-popover\r\n                         [nzPopoverTitle]=\"null\" nzPopoverPlacement=\"bottom\"\r\n                         [(nzPopoverVisible)]=\"addTaskData[column.id]['visible']\" nzPopoverTrigger=\"click\"\r\n                         [nzPopoverContent]=\"timeIntervalContentTemp\">\r\n                      <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'A'\">\r\n                        <ng-container *ngIf=\"addTaskData[column.id].date && addTaskData[column.id].date.length > 1\">\r\n                          {{addTaskData[column.id].date[0] | date: 'yyyy-MM-dd HH:mm'}} - {{addTaskData[column.id].date[1] | date: 'yyyy-MM-dd HH:mm'}}\r\n                        </ng-container>\r\n                      </ng-container>\r\n                      <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'B'\">\r\n                        任务创建时的日期 至 {{addTaskData[column.id]['n']}} 个 {{addTaskData[column.id]['dayType']=='n'?'自然日':'工作日'}}后\r\n                      </ng-container>\r\n                    </div>\r\n                    <ng-template #timeIntervalContentTemp>\r\n                      <div style=\"padding: 5px;\">\r\n                        <nz-radio-group [(ngModel)]=\"addTaskData[column.id]['radioValue']\" (ngModelChange)=\"radioChange(addTaskData[column.id])\">\r\n                          <label nz-radio nzValue=\"A\">固定日期</label>\r\n                          <label nz-radio nzValue=\"B\">任务创建时的日期</label>\r\n                        </nz-radio-group>\r\n                      </div>\r\n                      <div style=\"padding: 5px;\">\r\n                        <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'A'\">\r\n                          <nz-range-picker class=\"date-editable\" nzSize=\"small\" [nzShowTime]=\"true\" nzFormat=\"yyyy-MM-dd HH:mm\"\r\n                                           [(ngModel)]=\"addTaskData[column.id].date\"></nz-range-picker>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"addTaskData[column.id]['radioValue'] == 'B'\">\r\n                          <label>任务创建时的日期&nbsp;&nbsp;至&nbsp;&nbsp;\r\n                            <input nz-input style=\"width: 65px;\" type=\"number\" min=\"0\" [(ngModel)]=\"addTaskData[column.id]['n']\" placeholder=\"n\"/>\r\n                          </label>\r\n                          个\r\n                          <nz-select [(ngModel)]=\"addTaskData[column.id]['dayType']\">\r\n                            <nz-option nzValue=\"w\" nzLabel=\"工作日\"></nz-option>\r\n                            <nz-option nzValue=\"n\" nzLabel=\"自然日\"></nz-option>\r\n                          </nz-select>\r\n                          后\r\n                        </ng-container>\r\n                      </div>\r\n                    </ng-template>\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"!dateColumnEnable\">\r\n                    <nz-range-picker style=\"height: 40px;\" nzSize=\"small\" [nzShowTime]=\"true\" nzFormat=\"yyyy-MM-dd HH:mm\"\r\n                                     [(ngModel)]=\"addTaskData[column.id].date\"></nz-range-picker>\r\n                  </ng-container>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 人员组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'multiple-person'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-duoren'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\">\r\n                  <nz-select\r\n                    style=\"width: 100%\"\r\n                    nzShowSearch\r\n                    nzServerSearch\r\n                    nzMode=\"multiple\"\r\n                    nzPlaceHolder=\"选择成员\"\r\n                    (nzOnSearch)=\"onMemberSearch($event)\"\r\n                    [(ngModel)]=\"selectedUserData[column.id]\"\r\n                    (ngModelChange)=\"selectedUserDataChange(column.id)\"\r\n                  >\r\n                    <nz-option *ngFor=\"let option of personOption\" [nzLabel]=\"option.name + '(' + option.id + ')'\" [nzValue]=\"option\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 状态组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'status'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\" style=\"padding:0\">\r\n                  <!-- 状态组件 begin -->\r\n                  <div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\" class=\"status-font-color\" [style.background-color]=\"addTaskData[column.id].color\" *ngIf=\"addTaskData[column.id] && addTaskData[column.id].index !== 0\">\r\n                    <span>{{addTaskData[column.id].label}}</span>\r\n                  </div>\r\n                  <div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\" class=\"status-font-color\" [style.background-color]=\"'#c4c4c4'\" *ngIf=\"addTaskData[column.id] && addTaskData[column.id].index == 0\">\r\n                    <span>&nbsp;</span>\r\n                  </div>\r\n                  <ng-template #statusColorTemplate>\r\n                    <div class=\"status-picker-container\">\r\n                      <div class=\"status-picker-wrapper\" *ngIf=\"isEditVisual\" [ngStyle]=\"getStatusWidth(defaultStatus[column.id])\">\r\n                        <div class=\"status-picker-colors-view\" style=\"height:180px\">\r\n                          <div class=\"new-status-picker-color-option-viewing\" *ngFor=\"let item of defaultStatus[column.id]\">\r\n                            <div (click)=\"changeStatus(column.id, item)\" class=\"status-color-background\" [style.background-color]=\"item.color\">\r\n                              <div class=\"ds-text-component\">\r\n                                <span>{{item.label}}</span>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"status-picker-footer-wrapper\">\r\n                          <div *ngIf=\"isEditVisual\" class=\"status-picker-footer\" (click)=\"editStatus(column,pulse)\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i> 添加/编辑 标签\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"status-picker-wrapper\" *ngIf=\"!isEditVisual\" style=\"min-width:270px\" [ngStyle]=\"getStatusWidth(statusTemp)\">\r\n                        <div class=\"status-picker-editing-wrapper\" [style.height.px]=\"statusTemp.length < 20 ? (statusTemp.length < 8 ? 250 : 250) : 200\">\r\n                          <div class=\"status-picker-colors-editing\" style=\"height:180px\">\r\n                            <div class=\"status-picker-color-option-editing\" *ngFor=\"let item of statusTemp\">\r\n                              <div class=\"status-picker-drag-handle\"><i nz-icon [nzIconfont]=\"'icon-drag'\"></i></div>\r\n                              <div class=\"status-picker-color-input-wrapper\">\r\n                                <div class=\"color-option-box color-box-0\" [style.background-color]=\"item.color\">\r\n                                  <i nz-icon [nzIconfont]=\"'icon-diguan'\"></i>\r\n                                </div>\r\n                                <input class=\"status-edit-input\" [(ngModel)]=\"item.label\" nz-input type=\"text\" placeholder=\"输入标签\" />\r\n                              </div>\r\n                              <div *ngIf=\"!item.use\" (click)=\"removeStatusTag(item.index)\" nz-tooltip nzTooltipTitle=\"删除标签\" class=\"delete-status-icon-wrapper\"><i nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                              <div *ngIf=\"item.use\" nz-tooltip nzTooltipTitle=\"标签正在使用，无法删除\" class=\"delete-status-icon-wrapper\"><i style=\"cursor:not-allowed\" nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                            </div>\r\n                            <div (click)=\"addStatusTag()\" class=\"status-placeholder\" [style.display]=\"statusTemp.length < 20 ? 'block' : 'none'\">\r\n                              <div class=\"status-placeholder-background\" style=\"transition-duration: 0s;\" [style.color]=\"addTabBGColor === '#F7F7F7'?'#c4c4c4':'#fff'\" [style.background-color]=\"addTabBGColor\">\r\n                                <span>+ 添加标签</span>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"status-change-color-wrapper\">\r\n                          <div class=\"status-change-color\" [ngClass]=\"{'open':statusTemp.length < 20}\" style=\"bottom:30px\">\r\n                            <div class=\"status-change-color-background\" [style.height.px]=\"statusDel.length > 8 ? 68 : 36\" [ngClass]=\"{'open':statusTemp.length < 20}\"></div>\r\n                            <div (click)=\"addCustomTag(item.index)\" (mouseenter)=\"mouseEnterStatus(item.color)\" (mouseleave)=\"mouseLeaveStatus()\" *ngFor=\"let item of statusDel\" class=\"status-change-color-icon\" [ngClass]=\"{'open':statusTemp.length < 20}\" [style.background-color]=\"item.color\"></div>\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"status-picker-footer-wrapper editing\">\r\n                          <div *ngIf=\"!isEditVisual\" class=\"status-picker-footer\" (click)=\"submitEditStatus(column.id,boardId)\">\r\n                            应用\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                  <!-- 状态组件 end -->\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 下拉组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'dropdown'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-xiala'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\">\r\n                  <!-- begin -->\r\n                  <div class=\"dropdown-cell-wrapper\" style=\"height:40px;\">\r\n                    <div class=\"dropdown-option-wrapper\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" nz-popover (click)=\"openDropdownPopover(column)\" [nzPopoverContent]=\"dropdownTemplate\">\r\n                      <div class=\"option-names with-counter-options\">\r\n                        <ng-container *ngIf=\"addTaskData[column.id].ids\">\r\n                          <span *ngIf=\"addTaskData[column.id].ids.length == 0\">&nbsp;</span>\r\n                          <ng-container *ngIf=\"addTaskData[column.id].ids.length > 2\">\r\n                            <span class=\"option-name cell_focused\">\r\n                              <div class=\"ds-text-component\">\r\n                                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                                  <ng-container *ngIf=\"col.id == addTaskData[column.id].ids[0]\">\r\n                                    <span nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                                  </ng-container>\r\n                                </ng-container>\r\n                              </div>\r\n                            </span>\r\n                            <span class=\"option-name cell_focused\">\r\n                              <div class=\"ds-text-component\">\r\n                                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                                  <ng-container *ngIf=\"col.id == addTaskData[column.id].ids[1]\">\r\n                                    <span nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                                  </ng-container>\r\n                                </ng-container>\r\n                              </div>\r\n                            </span>\r\n                            <div class=\"dropdown-counter-component\">\r\n                              <div class=\"dropdown-counter-text\" nz-tooltip [nzTooltipTitle]=\"tooltipTemplate\">+{{addTaskData[column.id].ids.length - 2}}</div>\r\n                            </div>\r\n                            <ng-template #tooltipTemplate>\r\n                              <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                                <ng-container *ngFor=\"let ids of addTaskData[column.id].ids;let i = index\">\r\n                                  <span *ngIf=\"ids === col.id && i > 1\">\r\n                                    <div>{{col.name}}</div>\r\n                                  </span>\r\n                                </ng-container>\r\n                              </ng-container>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                          <ng-container *ngIf=\"addTaskData[column.id].ids.length <= 2\">\r\n                            <ng-container *ngFor=\"let ids of addTaskData[column.id].ids\">\r\n                              <span class=\"option-name cell_focused\">\r\n                                <div class=\"ds-text-component\">\r\n                                  <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                                    <span *ngIf=\"ids === col.id\" nz-tooltip nzTooltipTitle=\"{{col.name}}\">{{col.name}}</span>\r\n                                  </ng-container>\r\n                                </div>\r\n                              </span>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!addTaskData[column.id].ids\">\r\n                          <span>&nbsp;</span>\r\n                        </ng-container>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <!-- end -->\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!--选择器-->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'select'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-xiala'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\">\r\n                  <nz-select style=\"width: 100%;\" [(ngModel)]=\"addTaskData[column.id]\">\r\n                    <nz-option *ngFor=\"let option of column.config.option\" [nzLabel]=\"option.title\" [nzValue]=\"option.id\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 日志责任人组件 -->\r\n          <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'multiple-level-person'\">\r\n            <div class=\"column-title\">\r\n              <div class=\"column-icon\">\r\n                <i nz-icon [nzIconfont]=\"'icon-duoren'\"></i>\r\n              </div>\r\n              {{column.title}}\r\n            </div>\r\n            <div class=\"pulse-card-cell-wrapper-component\">\r\n              <div class=\"cell-wrapper\">\r\n                <div class=\"cell-component\">\r\n                  <nz-select\r\n                    style=\"width: 100%\"\r\n                    nzShowSearch\r\n                    nzServerSearch\r\n                    nzMode=\"multiple\"\r\n                    nzPlaceHolder=\"选择成员\"\r\n                    (nzOnSearch)=\"onMemberSearch($event)\"\r\n                    [(ngModel)]=\"selectedUserData[column.id]\"\r\n                    (ngModelChange)=\"selectedUserDataChange(column.id)\"\r\n                  >\r\n                    <nz-option *ngFor=\"let option of personOption\" [nzLabel]=\"option.name + '(' + option.id + ')'\" [nzValue]=\"option\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <!-- 模板区 -->\r\n          <ng-template #dropdownTemplate>\r\n            <ng-container>\r\n              <div class=\"dropdown-template_content\">\r\n                <ng-container *ngFor=\"let col of column.settings.labels\">\r\n                  <ng-container *ngFor=\"let ids of addTaskData[column.id].ids\">\r\n                    <span *ngIf=\"ids === col.id\">\r\n                      <nz-tag\r\n                        [nzMode]=\"'closeable'\"\r\n                        (nzOnClose)=\"handleDropdownClose(col, column)\"\r\n                      >\r\n                        {{ sliceTagName(col.name) }}\r\n                      </nz-tag>\r\n                    </span>\r\n                  </ng-container>\r\n                </ng-container>\r\n                <div class=\"dropdown-template_add-input\">\r\n                  <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\r\n                    <input\r\n                      nz-input\r\n                      placeholder=\"+ 新增标签\"\r\n                      type=\"text\"\r\n                      [(ngModel)]=\"dropdownInputValue\"\r\n                      (blur)=\"handleDropdownInputConfirm(column)\"\r\n                      (keydown.enter)=\"handleDropdownInputConfirm(column)\"\r\n                    />\r\n                  </nz-input-group>\r\n                  <ng-template #suffixIconButton>\r\n                    <button nz-button nzType=\"primary\" (click)=\"handleDropdownInputConfirm(column)\" nzSearch>确定</button>\r\n                  </ng-template>\r\n                </div>\r\n                <div class=\"dropdown-template_add-list\">\r\n                  <ul class=\"dropdown-template_add-options\">\r\n                    <ng-container *ngIf=\"isDropdownOptionEdit\">\r\n                      <ng-container *ngFor=\"let option of dropdownOption\">\r\n                        <li class=\"view-option\" (click)=\"handleDropdownOption(column, option)\">\r\n                          <span data-id=\"{{option.id}}\">{{option.name}}</span>\r\n                        </li>\r\n                      </ng-container>\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"!isDropdownOptionEdit\">\r\n                      <ng-container *ngFor=\"let option of column.settings.labels;let i = index\">\r\n                        <li class=\"edit-option\">\r\n                          <input nz-input [(ngModel)]=\"column.settings.labels[i].name\" />\r\n                          <ng-container *ngIf=\"option.notRemove\">\r\n                            <span style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"标签已经使用，无法删除\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n                          </ng-container>\r\n                          <ng-container *ngIf=\"!option.notRemove\">\r\n                            <span (click)=\"doRemoveDropdownOption(column, option)\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n                          </ng-container>\r\n                        </li>\r\n                      </ng-container>\r\n                    </ng-container>\r\n                  </ul>\r\n                </div>\r\n                <div *ngIf=\"isDropdownOptionEdit\" class=\"dropdown-template_edit-status\" (click)=\"changeEditDropdownStatus(column)\" [style.display]=\"column.settings.labels.length > 0? 'block':'none'\"><div>编辑</div></div>\r\n                <div *ngIf=\"!isDropdownOptionEdit\" class=\"dropdown-template_edit-status\" [style.display]=\"column.settings.labels.length > 0? 'flex':'none'\">\r\n                  <div style=\"flex:1\" (click)=\"changeEditDropdownStatus()\">确定</div>\r\n                  <div style=\"flex:1\" (click)=\"openDropdownPopover()\">取消</div>\r\n                </div>\r\n              </div>\r\n            </ng-container>\r\n          </ng-template>\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".pulse-card-dialog-scrollable-wrapper{flex:1;overflow:auto;padding:0 0 12px}.pulse-card-header{display:flex;flex-direction:column;flex-shrink:0;position:relative}.pulse-card-header .pulse-name-value{color:#333;flex:1;font-size:24px;font-weight:700;overflow:hidden}.pulse-card-wrapper-component{padding-top:20px}.pulse-card-component{flex-grow:1;line-height:40px;width:100%}.pulse-card-component .pulse-card-cell-wrapper{display:flex;margin:0 auto 8px}.pulse-card-component .pulse-card-cell-wrapper .column-title{align-items:center;display:flex;padding-left:20px;width:120px}.column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-title{cursor:text}.pulse-card-cell-wrapper-component .cell-wrapper{padding-left:16px}.pulse-card-cell-wrapper-component .cell-wrapper>div{background-color:#f0f0f0}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.pulse-card-cell-wrapper-component .cell-wrapper>div:not(.dialog-node){min-height:40px;padding:0 3px;width:300px}.column-icon i{font-size:19px;margin-right:3px;vertical-align:middle}::ng-deep .pulse-card-component .ant-select-selection{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:0}::ng-deep .pulse-card-component .ant-select-selection__clear{background:#f0f0f0}::ng-deep .pulse-card-component .ant-input{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:0}::ng-deep .pulse-card-component .ant-calendar-picker{width:298px}.calendar-view{padding:0 5px}.status-font-color{color:#fff;cursor:pointer}.new-status-picker-dialog-wrapper .status-picker-container{display:flex;justify-content:center}.status-picker-container{width:100%}.status-picker-wrapper{border-radius:4px;font-size:13px;height:100%;pointer-events:all;position:relative;transition:width .1s}.status-picker-wrapper:before{border-bottom-color:#c4c4c4;border-width:10px;right:50%;transform:translateX(50%)}.status-picker-wrapper:after,.status-picker-wrapper:before{border:solid hsla(0,0%,88.2%,0);bottom:100%;content:\" \";height:0;pointer-events:none;position:absolute;width:0}.status-picker-wrapper:after{border-bottom-color:#fff;border-width:8px;right:50%;transform:translateX(50%)}.status-picker-wrapper .status-picker-colors-view{align-content:space-between;padding-left:16px;padding-right:16px}.new-status-picker-color-option-viewing{-ms-grid-row-align:inherit;align-self:auto;border-radius:2px;color:#fff;cursor:pointer;flex:0 0 32px;font-weight:400;height:32px;line-height:32px;margin-bottom:8px;margin-right:8px;position:relative;text-align:center;transition:transform .1s ease-in-out,opacity .1s ease-in-out;width:134px}.new-status-picker-color-option-viewing .status-color-background{height:32px;line-height:32px;text-align:center;width:100%}.status-color-background:hover{opacity:.8}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.status-picker-wrapper .status-picker-footer-wrapper{flex:0 0 auto;height:30px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-top:2px solid #f1f1f1;color:#009aff;cursor:pointer;font-size:13px;height:40px;line-height:40px;position:relative;text-align:center;top:-3px;transition:color .1s;user-select:none}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer i{font-size:18px;margin-right:5px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer:hover{background:#009aff;color:#fff}.status-picker-wrapper .status-picker-editing-wrapper{transition:height .15s ease}.status-picker-wrapper .status-picker-colors-editing{align-content:flex-start}.status-picker-color-option-editing{-moz-user-select:none;-ms-grid-row-align:auto;-ms-user-select:none;-webkit-user-select:none;align-self:auto;border-radius:2px;display:flex;flex:0 0 40px;font-weight:400;height:40px;line-height:32px;position:relative;text-align:center;user-select:none;width:130px}.status-picker-color-option-editing .status-picker-drag-handle{color:#c4c4c4;cursor:move;flex:0 0 12px;padding:1px 2px 0 0}.status-picker-color-option-editing .status-picker-color-input-wrapper{border-radius:2px;display:flex;flex:0 0 104px;height:32px;width:104px}.status-picker-color-option-editing .status-picker-color-input-wrapper .color-option-box{border:1px solid transparent;border-radius:2px 0 0 2px;border-right-width:0;flex:0 0 16px;height:100%;padding-right:1px;width:18px}.status-picker-wrapper .status-picker-colors-editing,.status-picker-wrapper .status-picker-colors-view{align-items:flex-start;display:flex;flex:1 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;min-width:0;overflow:hidden;padding:7px 8px 0 2px;width:100%}.status-picker-color-option-editing .color-option-box:not(.is-disabled){cursor:pointer}.status-picker-color-option-editing .color-option-box{color:#fff;flex:0 0 16px;font-size:16px}.delete-status-icon-wrapper{cursor:pointer}.delete-status-icon-wrapper i{color:rgba(0,0,0,.1)}.delete-status-icon-wrapper:hover i{color:rgba(0,0,0,.8)}.color-option-box i,.delete-status-icon-wrapper i,.status-picker-drag-handle i{visibility:hidden}.status-picker-color-option-editing:hover .color-option-box i,.status-picker-color-option-editing:hover .delete-status-icon-wrapper i,.status-picker-color-option-editing:hover .status-picker-drag-handle i{visibility:visible}.delete-status-icon-wrapper{margin-left:3px}::ng-deep .status-edit-input.ant-input{background:#f7f7f7;border-left:none;border-radius:0 2px 2px 0}.status-change-color-wrapper .status-change-color{align-content:flex-start;align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:4px;position:absolute;transform:scaleY(0);transition:transform .15s ease;width:100%;z-index:1}.status-change-color-icon{border:1px solid #fff;border-radius:50%;cursor:pointer;height:20px;margin:4px;position:relative;transform:scale(0);transition:transform .15s ease;width:20px}.status-change-color-wrapper .status-change-color .status-change-color-background{background-color:#f7f7f7;border-bottom:2px solid #f1f1f1;border-top:2px solid #f1f1f1;height:36px;left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:center bottom;transition:transform .15s ease;width:100%}.status-change-color-wrapper .status-change-color.open,.status-change-color-wrapper .status-change-color .status-change-color-background.open{transform:scaleY(1)}.status-change-color-icon.open{transform:scale(1)}.status-change-color-icon.open:hover{box-shadow:0 1px 8px -2px #000;transform:scale(1.2)}.status-placeholder{cursor:pointer}.status-placeholder .status-placeholder-background{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;border:1px dashed #c4c4c4;border-radius:2px;color:#c4c4c4;display:flex;font-size:12px;height:32px;justify-content:center;margin:0 12px 0 15px;transition:background-color .2s ease-in;user-select:none;width:104px}::ng-deep .cell-wrapper .ant-calendar-picker-clear{background:#f0f0f0}.calendar-event{background-image:linear-gradient(180deg,#ba87e5,#a25ddc);border-radius:10px;color:#000;height:21px;margin:4px 5px auto;text-align:center}.switch-today{position:absolute;right:300px;top:11px}.dropdown-cell-wrapper{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.dropdown-cell-wrapper .dropdown-option-wrapper{align-items:center;cursor:pointer;display:flex;justify-content:center;overflow:hidden;padding:0 8px;width:100%}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names{display:flex;height:100%;justify-content:center;min-width:0}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names .option-name.cell_focused{background-color:#fff}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names .option-name{background-color:#e5f4ff;border-radius:24px;color:#009aff;display:flex;flex:0 1 auto;font-size:12px;line-height:24px;margin:2px;min-width:0;padding:0 4px}.dropdown-cell-wrapper .dropdown-option-wrapper .ds-text-component{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-counter-component{align-items:center;display:flex;justify-content:center;padding:0 8px;width:8px}.dropdown-counter-component .dropdown-counter-text{background-color:#000;border-radius:20px;color:#fff;font-size:10px;height:21px;line-height:17px;margin-left:8px;max-width:28px;min-width:20px;padding:2px 0}.dropdown-counter-component .dropdown-counter-text:before{content:attr(extracount)}.dropdown-template_content{width:250px}.dropdown-template_add-button{margin:10px 0}::ng-deep .dropdown-template_add-button .ant-btn{width:100%}.dropdown-template_add-input{margin:10px 0;width:100%}::ng-deep .dropdown-template_content .ant-tag{margin-bottom:5px;margin-right:5px}.dropdown-template_add-options{max-height:200px;overflow-y:auto}.dropdown-template_add-options li{background:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:300;height:30px;line-height:30px;outline:none;padding:0 8px;width:100%}.dropdown-template_add-options li.view-option:hover{background:#009aff;color:#fff}.dropdown-template_add-options li.edit-option{margin:5px 0}::ng-deep .dropdown-template_add-options li.edit-option .ant-input{border-style:dashed;width:90%}.dropdown-template_add-options li.edit-option span{color:rgba(0,0,0,.4);font-size:16px;margin-left:5px}.dropdown-template_add-options::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.dropdown-template_add-options::-webkit-scrollbar{height:5px;width:7px}.dropdown-template_add-options::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.1);border:1px solid rgba(85,85,85,.1)}.dropdown-template_add-options::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.dropdown-template_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px;text-align:center;width:100%}.dropdown-template_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}"]}]}],"members":{"dateColumnEnable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"changeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3},"arguments":["nfData"]}]}],"changeView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3},"arguments":["taskView"]}]}],"changePulse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3},"arguments":["pulseIds"]}]}],"ChangeInstanceData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3},"arguments":["nfInstanceData"]}]}],"nfChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":71,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":74,"character":21},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":76,"character":18},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":77,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"initPulseData":[{"__symbolic":"method"}],"initMultiPerson":[{"__symbolic":"method"}],"changeGroup":[{"__symbolic":"method"}],"dateTypeChange":[{"__symbolic":"method"}],"dateTimeTypeChange":[{"__symbolic":"method"}],"radioChange":[{"__symbolic":"method"}],"initSelectOption":[{"__symbolic":"method"}],"getBoardUserData":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"clickStatus":[{"__symbolic":"method"}],"getStatusWidth":[{"__symbolic":"method"}],"changeStatus":[{"__symbolic":"method"}],"mouseEnterStatus":[{"__symbolic":"method"}],"mouseLeaveStatus":[{"__symbolic":"method"}],"editStatus":[{"__symbolic":"method"}],"submitEditStatus":[{"__symbolic":"method"}],"removeStatusTag":[{"__symbolic":"method"}],"addStatusTag":[{"__symbolic":"method"}],"addCustomTag":[{"__symbolic":"method"}],"openDropdownPopover":[{"__symbolic":"method"}],"handleDropdownClose":[{"__symbolic":"method"}],"sliceTagName":[{"__symbolic":"method"}],"handleDropdownInputConfirm":[{"__symbolic":"method"}],"selectedUserDataChange":[{"__symbolic":"method"}],"handleDropdownOption":[{"__symbolic":"method"}],"changeEditDropdownStatus":[{"__symbolic":"method"}],"doRemoveDropdownOption":[{"__symbolic":"method"}],"getDropdownOptionId":[{"__symbolic":"method"}],"handleDropdownOptionList":[{"__symbolic":"method"}],"patchDropdownColumnData":[{"__symbolic":"method"}],"patchDropdownPulseData":[{"__symbolic":"method"}],"getUserIds":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"nf-integration","template":"<div class=\"automations-center-content\">\r\n  <div class=\"automations-center-componant\">\r\n    <nz-tabset>\r\n      <nz-tab nzTitle=\"集成中心\">\r\n        <div class=\"automations-center-content-inner\">\r\n          <div class=\"automations-center-menu-wrapper\">\r\n            <div class=\"automations-menu-component\">\r\n              <div class=\"automations-menu-inner\">\r\n                <div class=\"menu-title\">分类目录</div>\r\n                <div *ngFor=\"let menu of categoryList\" (click)=\"handleMenuChange(menu.id)\" [ngClass]=\"{'selected-category': menu.id == menuId}\" class=\"category-item-container\">\r\n                  {{menu.title}}\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"automations-center-page-wrapper\">\r\n            <div class=\"automations-store-page-component\">\r\n              <div class=\"automations-store-page-inner\">\r\n                <div class=\"automations-store-content-wrapper\">\r\n                  <div class=\"search-bar-wrapper\" style=\"width:60%;margin:auto;\">\r\n                    <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n                      <input type=\"text\" nz-input placeholder=\"输入关键字\" />\r\n                    </nz-input-group>\r\n                    <ng-template #suffixIconSearch>\r\n                      <i nz-icon nzType=\"search\"></i>\r\n                    </ng-template>\r\n                  </div>\r\n                  <div class=\"automations-store-content automations-dialog-wrapper\">\r\n                    <!-- 图标列表方式 -->\r\n                    <!--<div class=\"store-section automations-store-apps-section-wrapper\">-->\r\n                      <!--<div class=\"automations-store-apps-section-component\">-->\r\n                        <!--<div class=\"automations-store-apps-section-inner\">-->\r\n                          <!--<div class=\"category-title-wrapper\">-->\r\n                            <!--<div class=\"category-title\">-->\r\n                              <!--<div class=\"title-text\">应用</div>-->\r\n                            <!--</div>-->\r\n                          <!--</div>-->\r\n                          <!--<div class=\"apps-list\">-->\r\n                            <!--<div class=\"apps-row\">-->\r\n                              <!--<div class=\"app-card \" style=\"background: rgb(242, 47, 70); height: 73.872px;\">-->\r\n                                <!--<div class=\"app-logo\" style=\"background-image: url('https://cdn7.monday.com/images/automations/twilio3.png');\"></div>-->\r\n                              <!--</div>-->\r\n                              <!--<div class=\"app-card white-card\" style=\"background: rgb(233, 229, 220); height: 73.872px;\">-->\r\n                                <!--<div class=\"app-logo\" style=\"background-image: url('https://cdn7.monday.com/images/automations/typeform3.png');\"></div>-->\r\n                              <!--</div>-->\r\n                            <!--</div>-->\r\n                          <!--</div>-->\r\n                        <!--</div>-->\r\n                      <!--</div>-->\r\n                    <!--</div>-->\r\n                    <div *ngIf=\"menuId == 1\" class=\"store-section automations-store-apps-section-wrapper\">\r\n                      <div class=\"automations-store-category-component\">\r\n                        <div class=\"automations-store-recipes-inner\">\r\n                          <div class=\"category-title-wrapper\">\r\n                            <div class=\"category-title\">\r\n                              <div class=\"title-text\">应用</div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"card-list recipes-list\">\r\n                            <div class=\"recipes-row\">\r\n                              <!-- begin -->\r\n                              <div class=\"automations-store-recipe-card-component\">\r\n                                <div class=\"automations-store-recipe-card-inner\">\r\n                                  <div class=\"card-header\">\r\n                                    <div class=\"automations-store-recipe-categories-icons-component\">\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"https://cdn7.monday.com/images/automations/gmail-icon.png\">\r\n                                        </span>\r\n                                      </div>\r\n                                      <span class=\"card-logo-space\"><i nz-icon nzType=\"right\" nzTheme=\"outline\"></i></span>\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"data:image/png;base64,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\">\r\n                                          </span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-sentence\">\r\n                                    <div class=\"automations-editor-sentence-wrapper\">\r\n                                      <div class=\"automations-editor-sentence-component\">\r\n                                        <span class=\"automations-editor-text-term-component\">当收到此 </span>\r\n                                        <span class=\"automations-editor-field-term-component centralized disable\">\r\n                                          <div class=\"field-text\">\r\n                                            <div class=\"conditions-field-text-component\">电子邮件</div>\r\n                                          </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 中 </span>\r\n                                        <span class=\"automations-editor-field-term-component disable\">\r\n                                          <div class=\"field-text\">\r\n                                            <span>电子邮件栏</span>\r\n                                          </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 将其更新到面板</span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-footer\">\r\n                                    <a class=\"add-link\">\r\n                                      <span>添加到面板</span>\r\n                                    </a>\r\n                                  </div>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"automations-store-recipe-card-component\">\r\n                                <div class=\"automations-store-recipe-card-inner\">\r\n                                  <div class=\"card-header\">\r\n                                    <div class=\"automations-store-recipe-categories-icons-component\">\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"https://cdn7.monday.com/images/automations/gmail-icon.png\">\r\n                                        </span>\r\n                                      </div>\r\n                                      <span class=\"card-logo-space\"><i nz-icon nzType=\"right\" nzTheme=\"outline\"></i></span>\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"data:image/png;base64,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\">\r\n                                          </span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-sentence\">\r\n                                    <div class=\"automations-editor-sentence-wrapper\">\r\n                                      <div class=\"automations-editor-sentence-component\">\r\n                                        <span class=\"automations-editor-text-term-component\">当收到 </span>\r\n                                        <span class=\"automations-editor-field-term-component centralized disable\">\r\n                                          <div class=\"field-text\">\r\n                                            <div class=\"conditions-field-text-component\">电子邮件</div>\r\n                                          </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 时，在此 </span>\r\n                                        <span class=\"automations-editor-field-term-component disable\">\r\n                                          <div class=\"field-text\">\r\n                                              <span>组</span>\r\n                                            </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 中，创建任务。</span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-footer\">\r\n                                    <a class=\"add-link\">\r\n                                      <span>添加到面板</span>\r\n                                    </a>\r\n                                  </div>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"automations-store-recipe-card-component\">\r\n                                <div class=\"automations-store-recipe-card-inner\">\r\n                                  <div class=\"card-header\"></div>\r\n                                  <div class=\"card-sentence\"></div>\r\n                                  <div class=\"card-footer\"></div>\r\n                                </div>\r\n                              </div>\r\n                              <!-- end -->\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                    <div *ngIf=\"menuId == 2\" class=\"store-section automations-store-apps-section-wrapper\">\r\n                      <div class=\"automations-store-category-component\">\r\n                        <div class=\"automations-store-recipes-inner\">\r\n                          <div class=\"category-title-wrapper\">\r\n                            <div class=\"category-title\">\r\n                              <div class=\"title-text\">精选</div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"card-list recipes-list\">\r\n                            <div class=\"recipes-row\">\r\n                              <!-- begin -->\r\n                              <div class=\"automations-store-recipe-card-component\">\r\n                                <div class=\"automations-store-recipe-card-inner\">\r\n                                  <div class=\"card-header\">\r\n                                    <div class=\"automations-store-recipe-categories-icons-component\">\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"https://cdn7.monday.com/images/automations/gmail-icon.png\">\r\n                                        </span>\r\n                                        <span class=\"app-name\">mail</span>\r\n                                      </div>\r\n                                      <span class=\"card-logo-space\"><i nz-icon nzType=\"right\" nzTheme=\"outline\"></i></span>\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n                                          </span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-sentence\">\r\n                                    <div class=\"automations-editor-sentence-wrapper\">\r\n                                      <div class=\"automations-editor-sentence-component\">\r\n                                        <span class=\"automations-editor-text-term-component\">当收到此 </span>\r\n                                        <span class=\"automations-editor-field-term-component centralized disable\">\r\n                                          <div class=\"field-text\">\r\n                                            <div class=\"conditions-field-text-component\">电子邮件</div>\r\n                                          </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 中 </span>\r\n                                        <span class=\"automations-editor-field-term-component disable\">\r\n                                          <div class=\"field-text\">\r\n                                            <span>电子邮件栏</span>\r\n                                          </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 将其更新到面板</span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-footer\">\r\n                                    <a class=\"add-link\">\r\n                                      <span>添加到面板</span>\r\n                                    </a>\r\n                                  </div>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"automations-store-recipe-card-component\">\r\n                                <div class=\"automations-store-recipe-card-inner\">\r\n                                  <div class=\"card-header\">\r\n                                    <div class=\"automations-store-recipe-categories-icons-component\">\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"https://cdn7.monday.com/images/automations/gmail-icon.png\">\r\n                                        </span>\r\n                                        <span class=\"app-name\">mail</span>\r\n                                      </div>\r\n                                      <span class=\"card-logo-space\"><i nz-icon nzType=\"right\" nzTheme=\"outline\"></i></span>\r\n                                      <div class=\"card-logo\">\r\n                                        <span class=\"card-logo-box\">\r\n                                          <img class=\"card-logo-image\" src=\"data:image/png;base64,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\">\r\n                                          </span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-sentence\">\r\n                                    <div class=\"automations-editor-sentence-wrapper\">\r\n                                      <div class=\"automations-editor-sentence-component\">\r\n                                        <span class=\"automations-editor-text-term-component\">当收到 </span>\r\n                                        <span class=\"automations-editor-field-term-component centralized disable\">\r\n                                          <div class=\"field-text\">\r\n                                            <div class=\"conditions-field-text-component\">电子邮件</div>\r\n                                          </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 时，在此 </span>\r\n                                        <span class=\"automations-editor-field-term-component disable\">\r\n                                          <div class=\"field-text\">\r\n                                              <span>组</span>\r\n                                            </div>\r\n                                        </span>\r\n                                        <span class=\"automations-editor-text-term-component\"> 中，创建任务。</span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-footer\">\r\n                                    <a class=\"add-link\">\r\n                                      <span>添加到面板</span>\r\n                                    </a>\r\n                                  </div>\r\n                                </div>\r\n                              </div>\r\n                              <div class=\"automations-store-recipe-card-component\">\r\n                                <div class=\"automations-store-recipe-card-inner\">\r\n                                  <div class=\"card-header\"></div>\r\n                                  <div class=\"card-sentence\"></div>\r\n                                  <div class=\"card-footer\"></div>\r\n                                </div>\r\n                              </div>\r\n                              <!-- end -->\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                    <!-- end -->\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </nz-tab>\r\n      <nz-tab nzTitle=\"面板集成 / 0\">\r\n\r\n      </nz-tab>\r\n    </nz-tabset>\r\n  </div>\r\n</div>\r\n<!-- 弹窗处理 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'70%'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" (nzOnCancel)=\"handleCancel()\">\r\n\r\n</nz-modal>\r\n","styles":["::ng-deep .automations-center-content .ant-tabs-nav-scroll{text-align:center}::ng-deep .automations-center-content .ant-tabs-nav{font-size:15px}.automations-center-componant{min-height:500px}.automations-center-content-inner{display:flex;height:100%;min-height:0}.automations-center-content-inner .automations-center-menu-wrapper{flex:0 0;min-width:240px}.automations-menu-component{font-size:15px;height:100%;padding:16px;width:100%}.automations-menu-component .automations-menu-inner{height:100%;position:relative}.automations-menu-component .automations-menu-inner .menu-title{color:#9699a6;margin-left:8px;padding-bottom:8px}.automations-menu-component .automations-menu-inner .category-item-container{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;color:#000;cursor:pointer;display:flex;height:38px;line-height:38px;padding:4px 8px;user-select:none}.automations-menu-component .automations-menu-inner .category-item-container:hover{background-color:#f5f6f8;border-radius:4px}.automations-menu-component .automations-menu-inner .selected-category{background-color:#e5f4ff;border-radius:4px;color:#009aff}.automations-menu-component .automations-menu-inner .selected-category:hover{background-color:#e5f4ff}.automations-center-content-inner .automations-center-page-wrapper{flex:1;min-width:0}.automations-store-page-component{height:100%}.automations-store-page-component .automations-store-page-inner,.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper{display:flex;flex-direction:column;height:100%}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .search-bar-wrapper{align-items:center;display:flex;justify-content:center;padding:24px 8px 16px}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .automations-store-content{min-height:0;overflow:auto;padding-bottom:32px}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .automations-store-content .store-section.automations-store-banner-wrapper{margin-bottom:24px;margin-top:8px}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .automations-store-content .store-section{padding:0 24px}.automations-dialog-wrapper{max-height:400px;min-height:200px;overflow-y:auto;padding:0 15px}::ng-deep .automations-center-page-wrapper .ant-input-affix-wrapper .ant-input-suffix{right:12px}::ng-deep .automations-center-page-wrapper .ant-input{border-radius:50px}@media (max-width:5000px){.automations-dialog-wrapper{max-height:700px;min-height:300px}}@media screen and(min-width:1700px) and (max-width:2000px){.automations-dialog-wrapper{max-height:600px;min-height:200px}}@media screen and(min-width:1300px) and (max-width:1600px){.automations-dialog-wrapper{max-height:400px;min-height:200px}}@media screen and(min-width:1000px) and (max-width:1300px){.automations-dialog-wrapper{max-height:280px}}@media screen and(min-width:750px) and (max-width:1000px){.automations-dialog-wrapper{max-height:200px}}.automations-store-content .store-section{padding:0 15px}.automations-store-apps-section-component .automations-store-apps-section-inner .category-title-wrapper{border-bottom:1px solid #f1f1f1;margin-bottom:16px;padding-bottom:4px}.automations-store-apps-section-component .automations-store-apps-section-inner .category-title-wrapper .category-title{padding-top:8px}.automations-store-apps-section-component .automations-store-apps-section-inner .category-title-wrapper .category-title .title-text{font-size:16px;font-weight:500}.apps-list .apps-row{display:flex;margin-bottom:16px}.app-card{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1;justify-content:center;min-width:0;overflow:hidden;position:relative;transition:box-shadow .1s ease}.app-card:not(:last-child){margin-right:16px}.app-card:before{background:transparent;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background .1s ease}.app-card .app-logo{background-position:50%;background-repeat:no-repeat;background-size:contain;height:60%;position:relative;width:60%}.automations-store-category-component{margin-bottom:32px}.automations-store-category-component .category-title-wrapper{border-bottom:1px solid #f1f1f1;margin-bottom:16px;padding-bottom:4px}.automations-store-category-component .category-title-wrapper .category-title{padding-top:8px}.automations-store-category-component .category-title-wrapper .category-title .title-text{font-size:16px;font-weight:500;margin-right:16px}.automations-store-category-component .recipes-list .recipes-row{display:flex;margin-bottom:16px}.automations-store-recipe-card-component{background:#fff;border-radius:8px;box-shadow:0 8px 16px 0 rgba(0,0,0,.16);cursor:pointer;height:280px;overflow:hidden;transform:translateZ(0);transition:box-shadow .2s ease,transform .2s ease}.automations-store-recipe-card-component:hover{box-shadow:0 12px 24px 0 rgba(0,0,0,.2);transform:translate3d(0,-4px,0)}.automations-store-category-component .recipes-list .recipes-row .automations-store-recipe-card-component{flex:1;min-width:0}.automations-store-category-component .recipes-list .recipes-row .automations-store-recipe-card-component:not(:last-child){margin-right:16px}.automations-store-recipe-card-component .automations-store-recipe-card-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-header{display:flex;flex:0 0 65px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-sentence{color:#000;flex:1;font-size:20px;font-weight:100;line-height:28px;min-height:0;padding:16px 16px 0}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-footer{align-items:center;display:flex;flex:0 0 40px;padding-left:16px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-footer .add-link{color:#009aff;font-size:14px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-header .automations-store-recipe-categories-icons-component{align-items:center;padding:16px 0 0 16px}.automations-store-recipe-categories-icons-component .card-logo .app-name{color:#a1a1a1;font-size:14px;margin-left:4px}.automations-store-recipe-categories-icons-component{display:flex}.automations-store-recipe-categories-icons-component .card-logo .card-logo-image{width:20px}.automations-store-recipe-categories-icons-component .card-logo-box{border:1px solid #efefef;border-radius:5px;display:inline-block;height:30px;line-height:23px;text-align:center;width:30px}.automations-store-recipe-categories-icons-component .card-logo-space{color:#a1a1a1;margin:0 5px}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-sentence .automations-editor-field-term-component{font-weight:500}.automations-editor-field-term-component .field-text{max-width:420px;position:relative;transition:color .1s ease}"]}]}],"members":{"changeType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3},"arguments":["nfType"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"handleMenuChange":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"nf-automation","template":"<div class=\"automations-center-content\">\r\n  <div class=\"automations-center-componant\">\r\n    <nz-spin [nzSpinning]=\"isSpinning\">\r\n      <nz-tabset [(nzSelectedIndex)]=\"currentTab\">\r\n        <nz-tab nzTitle=\"模板库\" (nzClick)=\"automationClickTab('1')\">\r\n          <div class=\"automations-center-content-inner\">\r\n            <div class=\"automations-center-menu-wrapper\">\r\n              <div class=\"automations-menu-component\">\r\n                <div class=\"automations-menu-inner\">\r\n                  <div class=\"menu-title\">分类目录</div>\r\n                  <ng-container *ngFor=\"let menu of categoryData\">\r\n                    <div *ngIf=\"type === menu.entity\" (click)=\"handleMenuChange(menu)\" [ngClass]=\"{'selected-category': menu.id == currentMenuId}\" class=\"category-item-container\">\r\n                      {{menu.title}}\r\n                    </div>\r\n                  </ng-container>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"automations-center-page-wrapper\">\r\n              <div class=\"automations-store-page-component\">\r\n                <div class=\"automations-store-page-inner\">\r\n                  <div class=\"automations-store-content-wrapper\">\r\n                    <div class=\"search-bar-wrapper\" style=\"width:60%;margin:auto;\">\r\n                      <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n                        <input type=\"text\" nz-input placeholder=\"输入关键字\" [(ngModel)]=\"searchKey\" (keyup.enter)=\"doSearch()\" />\r\n                      </nz-input-group>\r\n                      <ng-template #suffixIconSearch>\r\n                        <i nz-icon nzType=\"search\"></i>\r\n                      </ng-template>\r\n                    </div>\r\n                    <div class=\"automations-store-content automations-dialog-wrapper\">\r\n                      <div class=\"store-section automations-store-apps-section-wrapper\">\r\n                        <div class=\"automations-store-category-component\">\r\n                          <div class=\"automations-store-recipes-inner\">\r\n                            <div class=\"category-title-wrapper\">\r\n                              <div class=\"category-title\">\r\n                                <div class=\"title-text\">{{currentMenuName}}</div>\r\n                              </div>\r\n                            </div>\r\n                            <div class=\"card-list recipes-list\">\r\n                              <div class=\"recipes-row\" *ngFor=\"let list of recipeData\">\r\n                                <!-- begin -->\r\n                                <ng-container *ngFor=\"let recipe of list  | filter:'parsedSentence':searchKey\">\r\n                                  <ng-container *ngIf=\"recipe\">\r\n                                    <div *ngIf=\"recipe.parentId === currentMenuId\" class=\"automations-store-recipe-card-component\">\r\n                                      <div class=\"automations-store-recipe-card-inner\" (click)=\"handleRecipeEvent(recipe.partCode, recipe)\">\r\n                                        <div class=\"card-header\">\r\n                                          <div class=\"automations-store-recipe-categories-icons-component\">\r\n                                            <ng-container *ngIf=\"recipe.app && recipe.appName\">\r\n                                              <div class=\"card-logo\">\r\n                                                {{recipe.appName}}\r\n                                              </div>\r\n                                              <span class=\"arrow-icon\">\r\n                                                <i nz-icon nzType=\"right\" nzTheme=\"outline\"></i>\r\n                                              </span>\r\n                                              <div class=\"card-logo\">\r\n                                              <span class=\"card-logo-box\">\r\n                                                <img class=\"card-logo-image\" src=\"data:image/png;base64,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\">\r\n                                              </span>\r\n                                              </div>\r\n                                            </ng-container>\r\n                                            <ng-container *ngIf=\"!(recipe.app && recipe.appName)\">\r\n                                              <div class=\"card-logo\">\r\n                                              <span class=\"card-logo-box\">\r\n                                                <img class=\"card-logo-image\" src=\"data:image/png;base64,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\">\r\n                                              </span>\r\n                                              </div>\r\n                                            </ng-container>\r\n                                          </div>\r\n                                        </div>\r\n                                        <div class=\"card-sentence\">\r\n                                          <div class=\"automations-editor-sentence-wrapper\">\r\n                                            <div class=\"automations-editor-sentence-component\">\r\n                                              {{recipe.parsedSentence}}\r\n                                              <!--<span class=\"automations-editor-text-term-component\">当收到此 </span>-->\r\n                                              <!--<span class=\"automations-editor-field-term-component centralized disable\">-->\r\n                                              <!--<div class=\"field-text\">-->\r\n                                              <!--<div class=\"conditions-field-text-component\">电子邮件</div>-->\r\n                                              <!--</div>-->\r\n                                              <!--</span>-->\r\n                                              <!--<span class=\"automations-editor-text-term-component\"> 中 </span>-->\r\n                                              <!--<span class=\"automations-editor-field-term-component disable\">-->\r\n                                              <!--<div class=\"field-text\">-->\r\n                                              <!--<span>电子邮件栏</span>-->\r\n                                              <!--</div>-->\r\n                                              <!--</span>-->\r\n                                              <!--<span class=\"automations-editor-text-term-component\"> 将其更新到面板</span>-->\r\n                                            </div>\r\n                                          </div>\r\n                                        </div>\r\n                                        <div class=\"card-footer\">\r\n                                          <a class=\"add-link\">\r\n                                            <span>添加到面板</span>\r\n                                          </a>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                  </ng-container>\r\n                                  <ng-container *ngIf=\"!recipe\">\r\n                                    <div class=\"missing-card\"></div>\r\n                                  </ng-container>\r\n                                </ng-container>\r\n                                <!-- end -->\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <!-- end -->\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </nz-tab>\r\n        <nz-tab nzTitle=\"已有{{typeText}} / {{automationData ? automationData.length : 0}}\"  (nzClick)=\"automationClickTab('2')\">\r\n          <div class=\"automations-board-page-component\">\r\n            <div class=\"automations-board-page-inner\">\r\n              <div class=\"automations-board-content\">\r\n                <div class=\"automations-board-automations-wrapper\">\r\n                  <div class=\"automations-board-automations-component\">\r\n                    <div class=\"automations-board-automations-inner\">\r\n                      <div class=\"automations-board-automations-header\">\r\n                        <span>{{boardName}}</span>\r\n                        <!-- 列表方式 -->\r\n                        <div class=\"automations-listtype\">\r\n                          <button style=\"margin-right:10px\" (click)=\"goToAddAutomations()\" nz-button nzType=\"primary\" nzShape=\"round\"><i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>添加</button>\r\n                          列表方式：\r\n                          <nz-button-group>\r\n                            <button (click)=\"listTypeChange('card')\" nz-tooltip nzTooltipTitle=\"卡片\" nz-button [nzType]=\"listType == 'card' ? 'primary' : 'default'\" nzSize=\"small\"><i nz-icon nzType=\"appstore\" nzTheme=\"outline\"></i></button>\r\n                            <button (click)=\"listTypeChange('list')\" nz-tooltip nzTooltipTitle=\"列表\" nz-button  [nzType]=\"listType == 'list' ? 'primary' : 'default'\" nzSize=\"small\"><i nz-icon nzType=\"unordered-list\" nzTheme=\"outline\"></i></button>\r\n                          </nz-button-group>\r\n                        </div>\r\n                      </div>\r\n                      <!-- 列表视图切换 -->\r\n                      <div class=\"automations-board-content automations-dialog-wrapper\">\r\n                        <nz-spin [nzSpinning]=\"isAutomationSpinning\">\r\n                          <!-- 卡片视图开始 -->\r\n                          <div *ngIf=\"listType == 'card'\" class=\"card-list automations-list\">\r\n                            <div class=\"automations-list-section\">\r\n                              <!-- begin -->\r\n                              <div *ngFor=\"let item of automationData\" [ngClass]=\"{'current-instance': item.id == currentInstanceId}\" class=\"automations-store-automation-card-component active\">\r\n                                <div class=\"automation-card-inner\">\r\n                                  <div class=\"card-icon\">\r\n                                    <div class=\"automations-store-recipe-categories-icons-component\">\r\n                                      <div class=\"icons-wrapper\">\r\n                                        <div class=\"card-logo\">\r\n                                          <div class=\"automations-store-automation-category-icon-component\">\r\n                                            <div class=\"icon-wrapper status-change-bg\" style=\"height: 36px; width: 36px;\">\r\n                                              <i style=\"font-size:30px\" nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n                                            </div>\r\n                                          </div>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-sentence-wrapper\" (click)=\"handleInstanceEditEvent(item)\">\r\n                                    <div class=\"card-sentence\" style=\"font-size: 20px;\">\r\n                                      <div class=\"card-sentence-inner\">\r\n                                        <div class=\"automations-editor-sentence-wrapper\">\r\n                                          <div class=\"automations-editor-sentence-component\">\r\n                                            {{item.config.instanceDescription}}\r\n                                          </div>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                  <div class=\"card-actions\">\r\n                                    <div class=\"automation-card-actions-component\">\r\n                                      <div class=\"automation-card-actions-buttons\" (click)=\"getInstanceId(item.id)\">\r\n                                        <div class=\"icon-button delete-button\">\r\n                                          <i\r\n                                            nz-popconfirm\r\n                                            nzPopconfirmTitle=\"是否确认删除?\"\r\n                                            (nzOnConfirm)=\"deleteInstance(item.id)\"\r\n                                            nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n                                        </div>\r\n                                        <div class=\"icon-button edit-button\">\r\n                                          <i (click)=\"handleInstanceEditEvent(item)\" nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>\r\n                                        </div>\r\n                                        <div class=\"active-toggle-button-wrapper\">\r\n                                          <nz-switch\r\n                                            (ngModelChange)=\"switchInstanceStatus($event, item.id)\"\r\n                                            [(ngModel)]=\"item.active\"\r\n                                            nzCheckedChildren=\"开\"\r\n                                            nzUnCheckedChildren=\"关\"></nz-switch>\r\n                                        </div>\r\n                                      </div>\r\n                                      <div class=\"details-sentence\">\r\n                                        <!--<span>lshare15 于 </span>-->\r\n                                        <time>{{item.createdAt | longTimeAgo}}</time> 创建\r\n                                        <span></span>\r\n                                      </div>\r\n                                    </div>\r\n                                  </div>\r\n                                </div>\r\n                              </div>\r\n                              <!-- end -->\r\n                            </div>\r\n                          </div>\r\n                          <!-- 卡片视图结束 -->\r\n                          <!-- 列表视图开始 -->\r\n                          <div *ngIf=\"listType == 'list'\">\r\n                            <nz-table\r\n                              #basicTable\r\n                              [nzSize]=\"'small'\"\r\n                              [nzData]=\"automationPageData\">\r\n                              <thead>\r\n                              <tr>\r\n                                <th>标题</th>\r\n                                <th>创建时间</th>\r\n                                <th>是否启动</th>\r\n                                <th>操作</th>\r\n                              </tr>\r\n                              </thead>\r\n                              <tbody>\r\n                              <tr *ngFor=\"let data of basicTable.data\">\r\n                                <td>{{ data.config.instanceDescription }}</td>\r\n                                <td>{{ data.createdAt | date:'yyyy-dd-MM' }}</td>\r\n                                <td>\r\n                                  <nz-switch\r\n                                    (ngModelChange)=\"switchInstanceStatus($event, data.id)\"\r\n                                    [(ngModel)]=\"data.active\"\r\n                                    nzCheckedChildren=\"开\"\r\n                                    nzUnCheckedChildren=\"关\"></nz-switch>\r\n                                </td>\r\n                                <td>\r\n                                  <a style=\"margin-right:10px\" (click)=\"handleInstanceEditEvent(data)\">编辑</a>\r\n                                  <a\r\n                                    nz-popconfirm\r\n                                    nzPopconfirmTitle=\"是否确认删除?\"\r\n                                    (nzOnConfirm)=\"deleteInstance(data.id)\">删除</a>\r\n                                </td>\r\n                              </tr>\r\n                              </tbody>\r\n                            </nz-table>\r\n                          </div>\r\n                          <!-- 列表视图结束 -->\r\n                        </nz-spin>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </nz-tab>\r\n      </nz-tabset>\r\n    </nz-spin>\r\n  </div>\r\n</div>\r\n<!-- 弹窗处理 -->\r\n<!-- 新增 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'70%'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <template #dynamicComponentContainer></template>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmDisabled\" [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n\r\n","styles":["::ng-deep .automations-center-content .ant-tabs-nav-scroll{text-align:center}::ng-deep .automations-center-content .ant-tabs-nav{font-size:15px}.automations-center-componant{min-height:500px}.automations-center-content-inner{display:flex;height:100%;min-height:0}.automations-center-content-inner .automations-center-menu-wrapper{flex:0 0;min-width:240px}.automations-menu-component{font-size:15px;height:100%;padding:16px;width:100%}.automations-menu-component .automations-menu-inner{height:100%;position:relative}.automations-menu-component .automations-menu-inner .menu-title{color:#9699a6;margin-left:8px;padding-bottom:8px}.automations-menu-component .automations-menu-inner .category-item-container{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;color:#000;cursor:pointer;display:flex;height:38px;line-height:38px;padding:4px 8px;user-select:none}.automations-menu-component .automations-menu-inner .category-item-container:hover{background-color:#f5f6f8;border-radius:4px}.automations-menu-component .automations-menu-inner .selected-category{background-color:#e5f4ff;border-radius:4px;color:#009aff}.automations-menu-component .automations-menu-inner .selected-category:hover{background-color:#e5f4ff}.automations-center-content-inner .automations-center-page-wrapper{flex:1;min-width:0}.automations-store-page-component{height:100%}.automations-store-page-component .automations-store-page-inner,.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper{display:flex;flex-direction:column;height:100%}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .search-bar-wrapper{align-items:center;display:flex;justify-content:center;padding:24px 8px 16px}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .automations-store-content{min-height:0;overflow:auto;padding-bottom:32px}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .automations-store-content .store-section.automations-store-banner-wrapper{margin-bottom:24px;margin-top:8px}.automations-store-page-component .automations-store-page-inner .automations-store-content-wrapper .automations-store-content .store-section{padding:0 24px}.automations-dialog-wrapper{max-height:400px;min-height:200px;overflow-y:auto;padding:0 15px}::ng-deep .automations-center-page-wrapper .ant-input-affix-wrapper .ant-input-suffix{right:12px}::ng-deep .automations-center-page-wrapper .ant-input-affix-wrapper{border-radius:50px}@media (max-width:5000px){.automations-dialog-wrapper{max-height:400px;min-height:300px}.automations-dialog-part-wrapper{height:400px}}@media screen and(min-width:1700px) and (max-width:2000px){.automations-dialog-wrapper{max-height:400px;min-height:200px}.automations-dialog-part-wrapper{height:400px}}@media screen and(min-width:1300px) and (max-width:1600px){.automations-dialog-wrapper{max-height:300px;min-height:200px}.automations-dialog-part-wrapper{height:300px}}@media screen and(min-width:1000px) and (max-width:1300px){.automations-dialog-wrapper{max-height:280px}.automations-dialog-part-wrapper{height:280px}}@media screen and(min-width:750px) and (max-width:1000px){.automations-dialog-wrapper{max-height:200px}}.automations-store-content .store-section{padding:0 15px}.automations-store-apps-section-component .automations-store-apps-section-inner .category-title-wrapper{border-bottom:1px solid #f1f1f1;margin-bottom:16px;padding-bottom:4px}.automations-store-apps-section-component .automations-store-apps-section-inner .category-title-wrapper .category-title{padding-top:8px}.automations-store-apps-section-component .automations-store-apps-section-inner .category-title-wrapper .category-title .title-text{font-size:16px;font-weight:500}.apps-list .apps-row{display:flex;margin-bottom:16px}.app-card{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:1;justify-content:center;min-width:0;overflow:hidden;position:relative;transition:box-shadow .1s ease}.app-card:not(:last-child){margin-right:16px}.app-card:before{background:transparent;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background .1s ease}.app-card .app-logo{background-position:50%;background-repeat:no-repeat;background-size:contain;height:60%;position:relative;width:60%}.automations-store-category-component{margin-bottom:32px}.automations-store-category-component .category-title-wrapper{border-bottom:1px solid #f1f1f1;margin-bottom:16px;padding-bottom:4px}.automations-store-category-component .category-title-wrapper .category-title{padding-top:8px}.automations-store-category-component .category-title-wrapper .category-title .title-text{font-size:16px;font-weight:500;margin-right:16px}.automations-store-category-component .recipes-list .recipes-row{display:flex;margin-bottom:16px}.automations-store-recipe-card-component{background:#fff;border-radius:8px;box-shadow:0 8px 16px 0 rgba(0,0,0,.16);cursor:pointer;height:280px;overflow:hidden;transform:translateZ(0);transition:box-shadow .2s ease,transform .2s ease}.automations-store-recipe-card-component:hover{box-shadow:0 12px 24px 0 rgba(0,0,0,.2);transform:translate3d(0,-4px,0)}.automations-store-category-component .recipes-list .recipes-row .automations-store-recipe-card-component{flex:1;min-width:0}.automations-store-category-component .recipes-list .recipes-row .automations-store-recipe-card-component:not(:last-child){margin-right:16px}.automations-store-recipe-card-component .automations-store-recipe-card-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-header{display:flex;flex:0 0 65px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-sentence{color:#000;flex:1;font-size:20px;font-weight:100;line-height:28px;min-height:0;padding:16px 16px 0}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-footer{align-items:center;display:flex;flex:0 0 40px;padding-left:16px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-footer .add-link{color:#009aff;font-size:14px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-header .automations-store-recipe-categories-icons-component{align-items:center;padding:16px 0 0 16px}.automations-store-recipe-categories-icons-component .card-logo .app-name{color:#a1a1a1;font-size:14px;margin-left:4px}.automations-store-recipe-categories-icons-component .card-logo .card-logo-image{width:20px}.automations-store-recipe-categories-icons-component .card-logo-box{border:1px solid #efefef;border-radius:5px;display:inline-block;height:30px;line-height:23px;text-align:center;width:30px}.automations-store-recipe-categories-icons-component .card-logo-space{color:#a1a1a1;margin:0 5px}.automations-store-recipe-card-component .automations-store-recipe-card-inner .card-sentence .automations-editor-field-term-component{font-weight:500}.automations-board-page-component{height:100%}.automations-board-page-component .automations-board-page-inner{display:flex;flex-direction:column;height:100%}.automations-board-automations-component,.automations-board-page-component .automations-board-page-inner .automations-board-content .automations-board-automations-wrapper{height:100%}.automations-board-automations-component .automations-board-automations-inner{display:flex;flex-direction:column;height:100%}.automations-board-automations-header{align-items:center;display:flex;font-size:24px;font-weight:700;justify-content:space-between;padding:5px 20px}.automations-board-page-component .automations-board-page-inner .automations-board-content{flex:1 1;min-height:0;overflow:auto}.automations-board-automations-component .automations-board-automations-inner .automations-board-content{overflow:auto;padding:16px 24px 24px}.automations-board-automations-component .automations-board-automations-inner .automations-board-content .card-list{margin-bottom:32px}.automations-store-automation-card-component{border-radius:10px;box-shadow:0 8px 16px 0 rgba(0,0,0,.16);margin-bottom:16px;overflow:hidden;position:relative;transform:translateZ(0);transition:box-shadow .2s ease,transform .2s ease}.automations-store-automation-card-component:not(.active){border:1px solid #e1e1e1;box-shadow:none}.automations-store-automation-card-component:not(.active) .card-sentence{opacity:.4}.automations-store-automation-card-component.error-state{border-color:#e44258}.automations-store-automation-card-component:hover.active{box-shadow:0 12px 24px 0 rgba(0,0,0,.2);transform:translate3d(0,-4px,0)}.automations-store-automation-card-component .automation-card-inner{display:flex;min-height:104px}.automations-store-automation-card-component .automation-card-inner .card-icon{align-items:center;display:flex;flex:0 0 100px;justify-content:center;transition:opacity .1s ease}.automations-store-recipe-categories-icons-component,.automations-store-recipe-categories-icons-component .icons-wrapper{display:flex}.automations-store-recipe-categories-icons-component .card-logo{align-items:center;border-radius:4px;display:flex;justify-content:center;position:relative}.automations-store-automation-category-icon-component .icon-wrapper{align-items:center;border-radius:4px;display:flex;justify-content:center;vertical-align:middle}.automations-store-automation-category-icon-component .status-change-bg{color:#00c875}.automations-store-automation-card-component .automation-card-inner .card-sentence-wrapper{cursor:pointer;display:flex;flex:1 1 auto;flex-direction:column;padding:8px}.automations-store-automation-card-component .automation-card-inner .card-sentence-wrapper .card-sentence{align-items:center;color:#000;display:flex;flex:1 1 auto;font-size:20px;font-weight:100;line-height:1.4;transition:opacity .1s ease}.automations-editor-sentence-wrapper .automations-editor-sentence-component{text-align:left}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-store-automation-card-component .automation-card-inner .card-sentence-wrapper .card-sentence .card-sentence-inner .automations-editor-field-term-component{font-weight:500}.automations-editor-field-term-component .field-text{max-width:420px;position:relative;transition:color .1s ease}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.automations-store-automation-card-component .automation-card-inner .card-actions{flex:0 0 auto}.automations-store-automation-card-component .automation-card-actions-component{display:flex;flex-direction:column;height:100%;padding:12px}.automations-store-automation-card-component .automation-card-actions-component .automation-card-actions-buttons{align-items:center;cursor:default;display:flex;justify-content:flex-end}.automations-store-automation-card-component .automation-card-actions-component .automation-card-actions-buttons .icon-button{cursor:pointer;flex:0 0;font-size:20px;margin-left:16px;opacity:0;transition:opacity .3s ease}.automations-store-automation-card-component.current-instance .automation-card-actions-component .automation-card-actions-buttons .icon-button{opacity:1}.automations-store-automation-card-component .automation-card-actions-component .automation-card-actions-buttons .icon-button:hover{color:#009aff}.automations-store-automation-card-component:hover .automation-card-actions-component .automation-card-actions-buttons .icon-button{opacity:1}.automations-store-automation-card-component .automation-card-actions-component .automation-card-actions-buttons .active-toggle-button-wrapper{margin-left:16px}.automations-store-automation-card-component .automation-card-actions-component .details-sentence{bottom:12px;color:#a1a1a1;flex:0;font-size:12px;position:absolute;right:12px;white-space:nowrap}.automations-store-category-component .recipes-list .recipes-row .missing-card{flex:1}.missing-card:not(:last-child){margin-right:16px}.dialog-wrapper{max-height:500px;min-height:200px;overflow-y:auto;padding:0 15px}@media (max-width:5000px){.dialog-wrapper{max-height:600px;min-height:400px}.login_title{font-size:36px}}@media screen and(min-width:1700px) and (max-width:2000px){.dialog-wrapper{max-height:500px;min-height:300px}.login_title{font-size:36px}}@media screen and(min-width:1300px) and (max-width:1600px){.dialog-wrapper{max-height:500px;min-height:200px}.login_title{font-size:28px}}@media screen and(min-width:1000px) and (max-width:1300px){.dialog-wrapper{max-height:380px}.login_title{font-size:22px}}@media screen and(min-width:750px) and (max-width:1000px){.dialog-wrapper{max-height:300px}.login_title{font-size:22px}}.automations-listtype{font-size:14px;font-weight:400;padding:5px 20px;text-align:right}.arrow-icon{color:#a1a1a1;font-size:13px;margin:0 4px 0 8px}"]}]}],"members":{"changeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3},"arguments":["nfBoardData"]}]}],"changeType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3},"arguments":["nfType"]}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":77,"character":3},"arguments":["dynamicComponentContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":77,"character":50},"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":81,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":82,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":83,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"handleMenuChange":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"handleRecipeEvent":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"automationClickTab":[{"__symbolic":"method"}],"goToAddAutomations":[{"__symbolic":"method"}],"getAutomationsData":[{"__symbolic":"method"}],"getAutomationPagesData":[{"__symbolic":"method"}],"switchInstanceStatus":[{"__symbolic":"method"}],"getInstanceId":[{"__symbolic":"method"}],"deleteInstance":[{"__symbolic":"method"}],"handleInstanceEditEvent":[{"__symbolic":"method"}],"doSearch":[{"__symbolic":"method"}],"listTypeChange":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-status","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnConditionVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnConditionData}\">{{columnConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择列</div>\r\n                        <ng-container *ngFor=\"let item of columnConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnConditionData}\" (click)=\"columnConditionChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 变成 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusConditionVisible\"  [nzPopoverContent]=\"statusConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': statusConditionData}\">{{statusConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                        <ng-container *ngIf=\"columnConditionData\">\r\n                          <ng-container *ngFor=\"let item of statusConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.index == statusConditionData}\" (click)=\"statusConditionChange(item)\">\r\n                              <div class=\"column-title\">\r\n                                <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                                {{item.label ? item.label : '默认'}}\r\n                              </div>\r\n                            </div>\r\n                        </ng-container>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!columnConditionData\">\r\n                         <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" style=\"margin-left:10px\"></i> 请先选择列\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\"  [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseIntegration\r\n      *ngIf=\"isVisible\"\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":49,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"columnConditionChange":[{"__symbolic":"method"}],"statusConditionChange":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-date","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\">在 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnConditionPopVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnConditionValue}\">{{columnConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择日期列</div>\r\n                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnConditionValue}\" *ngFor=\"let item of columnConditionSelectList\" (click)=\"columnConditionSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor partition\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"whenConditionPopVisible\" [nzPopoverContent]=\"whenComponentTemplate\">\r\n                    <div class=\"ds-text-component\" >\r\n                      <span [ngClass]=\"{'selected': whenComponentData}\">{{whenComponentDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #whenComponentTemplate>\r\n                      <nf-when-part [nfData]=\"whenComponentData\" (nfDataChange)=\"getWhenComponentData($event)\"></nf-when-part>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> ，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionPopVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseIntegration\r\n      *ngIf=\"isVisible\"\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":44,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"columnConditionSelectChange":[{"__symbolic":"method"}],"getWhenComponentData":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-column","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"rightTop\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnConditionVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnConditionData}\">{{columnConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择列</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnConditionData}\" *ngFor=\"let item of columnConditionSelectList\" (click)=\"columnConditionChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的值等于 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"inputConditionVisible\" [nzPopoverContent]=\"inputConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': inputConditionValue}\">{{inputConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #inputConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <input nz-input placeholder=\"请输入\" (keyup.enter)=\"inputConditionEnter()\" (ngModelChange)=\"inputConditionChange($event)\" [(ngModel)]=\"inputConditionValue\" />\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseIntegration\r\n      *ngIf=\"isVisible\"\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"columnConditionChange":[{"__symbolic":"method"}],"inputConditionChange":[{"__symbolic":"method"}],"inputConditionEnter":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":1,"character":1},"arguments":[{"selector":"app-custom-special-condition","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"rightTop\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"firstConditionVisible\" [nzPopoverContent]=\"firstConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': firstConditionId}\">{{firstConditionValue}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #firstConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择条件</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == firstConditionId}\" *ngFor=\"let item of firstCondition\" (click)=\"firstConditionChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"secondConditionVisible\" [nzPopoverContent]=\"secondConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': secondConditionId}\">{{secondConditionValue}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #secondConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == secondConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"secondConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseIntegration\r\n      *ngIf=\"isVisible\"\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"firstConditionChange":[{"__symbolic":"method"}],"secondConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"nf-pulse-integration","providers":[{"__symbolic":"reference","name":"TaskService"}],"template":"<div class=\"automations-dynamic-mapping-field-component\">\r\n  <div class=\"mapping-options\">\r\n    <ng-container *ngFor=\"let column of this.boardColumnData\">\r\n      <ng-container [ngSwitch]=\"column.type\">\r\n        <!-- 标题 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'name'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-fabu'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>标题</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngIf=\"!(column.mappingValue.length > 0)\">\r\n                  <span style=\"width:100%\"><input placeholder=\"请输入\" nz-input [nzSize]=\"'small'\" [(ngModel)]=\"column.mappingFirstValue\" /></span>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"column.mappingValue.length > 0\">\r\n                  <span [style.width.px]=\"!column.mappingFirstValue ? 10 : (column.mappingFirstValue.length) * 13\">\r\n                    <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"column.mappingFirstValue\" />\r\n                  </span>\r\n                  <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                    <div class=\"field-part\">\r\n                      <div class=\"field-title\">\r\n                        <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                        </div>\r\n                      </div>\r\n                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                    </div>\r\n                  </ng-container>\r\n                  <span [style.width.px]=\"!column.mappingEndValue ? 40 : column.mappingEndValue.length * 13\">\r\n                    <input placeholder=\"请输入\" nz-input [nzSize]=\"'small'\" [(ngModel)]=\"column.mappingEndValue\" />\r\n                  </span>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"contentTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 文本组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'text'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-wenben'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngIf=\"!(column.mappingValue.length > 0)\">\r\n                  <span style=\"width:100%\"><input placeholder=\"请输入\" nz-input [nzSize]=\"'small'\" [(ngModel)]=\"column.mappingFirstValue\" /></span>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"column.mappingValue.length > 0\">\r\n                  <span [style.width.px]=\"!column.mappingFirstValue ? 10 : (column.mappingFirstValue.length) * 13\">\r\n                    <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"column.mappingFirstValue\" />\r\n                  </span>\r\n                  <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                    <div class=\"field-part\">\r\n                      <div class=\"field-title\">\r\n                        <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                        </div>\r\n                      </div>\r\n                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                    </div>\r\n                  </ng-container>\r\n                  <span [style.width.px]=\"!column.mappingEndValue ? 40 : column.mappingEndValue.length * 13\">\r\n                    <input placeholder=\"请输入\" nz-input [nzSize]=\"'small'\" [(ngModel)]=\"column.mappingEndValue\" />\r\n                  </span>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"contentTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 日期组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'date'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                  <div class=\"field-part\">\r\n                    <div class=\"field-title\">\r\n                      <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                      </div>\r\n                    </div>\r\n                    <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                  </div>\r\n                </ng-container>\r\n              </div>\r\n              <div *ngIf=\"column.mappingValue.length == 0\" class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"contentTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"column.mappingValue.length == 1\" class=\"add-field-wrapper\">\r\n                <div class=\"add-field-icon disabled\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 人员组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'multiple-person'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-duoren'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                  <div class=\"field-part\">\r\n                    <div class=\"field-title\">\r\n                      <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                      </div>\r\n                    </div>\r\n                    <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                  </div>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"multiplePersonTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n<!--              <div *ngIf=\"column.mappingValue.length == 1\" class=\"add-field-wrapper\">-->\r\n<!--                <div class=\"add-field-icon disabled\">-->\r\n<!--                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>-->\r\n<!--                </div>-->\r\n<!--              </div>-->\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 状态组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'status'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngIf=\"column.mappingFirstValue\">\r\n                  <div class=\"field-part\">\r\n                    <div class=\"field-title\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span>\r\n                          {{column.mappingFirstValue}}\r\n                        </span>\r\n                      </div>\r\n                    </div>\r\n                    <i (click)=\"removeFieldItem(column)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                  </div>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"column.mappingValue.length > 0\">\r\n                  <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                    <div class=\"field-part\">\r\n                      <div class=\"field-title\">\r\n                        <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                        </div>\r\n                      </div>\r\n                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                    </div>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"statusTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 责任人组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'multiple-level-person'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngIf=\"column.mappingFirstValue\">\r\n                  <div class=\"field-part\">\r\n                    <div class=\"field-title\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span>\r\n                          {{column.mappingFirstValue}}\r\n                        </span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"column.mappingValue.length > 0\">\r\n                  <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                    <div class=\"field-part\">\r\n                      <div class=\"field-title\">\r\n                        <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                        </div>\r\n                      </div>\r\n                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                    </div>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"multiplePersonTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 任务处理组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'taskHandle'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngIf=\"column.mappingFirstValue\">\r\n                  <div class=\"field-part\">\r\n                    <div class=\"field-title\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span>\r\n                          {{column.mappingFirstValue}}\r\n                        </span>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"column.mappingValue.length > 0\">\r\n                  <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                    <div class=\"field-part\">\r\n                      <div class=\"field-title\">\r\n                        <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                        </div>\r\n                      </div>\r\n                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                    </div>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"contentTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 任务完成情况组件 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'taskProgress'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <div class=\"mapping-parts-container\">\r\n                <ng-container *ngIf=\"column.mappingFirstValue\">\r\n                  <div class=\"field-part\">\r\n                    <div class=\"field-title\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span>\r\n                          {{column.mappingFirstValue.label}}\r\n                        </span>\r\n                      </div>\r\n                    </div>\r\n                    <i (click)=\"removeFieldItem(column)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                  </div>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"column.mappingValue.length > 0\">\r\n                  <ng-container *ngFor=\"let item of column.mappingValue\">\r\n                    <div class=\"field-part\">\r\n                      <div class=\"field-title\">\r\n                        <div class=\"ds-text-component\">\r\n                            <span>\r\n                              {{item.title}}\r\n                            </span>\r\n                        </div>\r\n                      </div>\r\n                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>\r\n                    </div>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"taskProgressTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                <div class=\"add-field-icon\">\r\n                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n<!--        <div class=\"field-mapping\" *ngSwitchCase=\"'taskProgress'\">-->\r\n<!--          <div class=\"target-field-icon\">-->\r\n<!--            <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>-->\r\n<!--          </div>-->\r\n<!--          <div class=\"ds-text-component target-field-title\">-->\r\n<!--            <span>{{column.title}}</span>-->\r\n<!--          </div>-->\r\n<!--          <div class=\"mapping-input-box-component\">-->\r\n<!--            <div class=\"input-box-container\">-->\r\n<!--              <div class=\"mapping-parts-container\">-->\r\n<!--                <ng-container *ngIf=\"column.mappingFirstValue\">-->\r\n<!--                  <div class=\"field-part\">-->\r\n<!--                    <div class=\"field-title\">-->\r\n<!--                      <div class=\"ds-text-component\">-->\r\n<!--                        <span>-->\r\n<!--                          {{column.mappingFirstValue}}-->\r\n<!--                        </span>-->\r\n<!--                      </div>-->\r\n<!--                    </div>-->\r\n<!--                  </div>-->\r\n<!--                </ng-container>-->\r\n<!--                <ng-container *ngIf=\"column.mappingValue.length > 0\">-->\r\n<!--                  <ng-container *ngFor=\"let item of column.mappingValue\">-->\r\n<!--                    <div class=\"field-part\">-->\r\n<!--                      <div class=\"field-title\">-->\r\n<!--                        <div class=\"ds-text-component\">-->\r\n<!--                            <span>-->\r\n<!--                              {{item.title}}-->\r\n<!--                            </span>-->\r\n<!--                        </div>-->\r\n<!--                      </div>-->\r\n<!--                      <i (click)=\"removeFieldTag(column, item.id)\" class=\"remove-field-btn\" nz-icon [nzIconfont]=\"'icon-close-blod'\"></i>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-container>-->\r\n<!--                </ng-container>-->\r\n<!--              </div>-->\r\n<!--              <div class=\"add-field-wrapper\" (click)=\"getFields(column)\" nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"taskProgressTemplate\" nzPopoverPlacement=\"bottomRight\">-->\r\n<!--                <div class=\"add-field-icon\">-->\r\n<!--                  <i style=\"font-size:13px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>-->\r\n<!--                </div>-->\r\n<!--              </div>-->\r\n<!--            </div>-->\r\n<!--          </div>-->\r\n<!--        </div>-->\r\n        <!-- 下拉组件 非映射 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'dropdown'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-xiala'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <nz-select\r\n                style=\"width: 100%\"\r\n                nzShowSearch\r\n                nzPlaceHolder=\"请选择\"\r\n                [(ngModel)]=\"column.mappingValue\">\r\n                <nz-option *ngFor=\"let option of column.settings.labels\" nzLabel=\"{{option.name}}\" nzValue=\"{{option.id}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 选择组件 非映射 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'select'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-select'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <nz-select\r\n                style=\"width: 100%\"\r\n                nzShowSearch\r\n                nzPlaceHolder=\"请选择\"\r\n                [(ngModel)]=\"column.mappingValue\">\r\n                <nz-option *ngFor=\"let option of column.config.option\" nzLabel=\"{{option.title}}\" nzValue=\"{{option.id}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- 按钮组件 非映射 -->\r\n        <div class=\"field-mapping\" *ngSwitchCase=\"'button'\">\r\n          <div class=\"target-field-icon\">\r\n            <i nz-icon [nzIconfont]=\"'icon-button'\"></i>\r\n          </div>\r\n          <div class=\"ds-text-component target-field-title\">\r\n            <span>{{column.title}}</span>\r\n          </div>\r\n          <div class=\"mapping-input-box-component\">\r\n            <div class=\"input-box-container\">\r\n              <nz-select\r\n                style=\"width: 100%\"\r\n                nzShowSearch\r\n                nzPlaceHolder=\"请选择\"\r\n                [(ngModel)]=\"column.mappingValue\">\r\n                <nz-option *ngFor=\"let option of column.config.original\" nzLabel=\"{{option.title}}\" nzValue=\"{{option.id}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <ng-template #contentTemplate>\r\n          <div class=\"condition-container\">\r\n            <div class=\"field-title\">选择支持的列</div>\r\n            <div class=\"field-wrapper\">\r\n              <div *ngFor=\"let item of fieldsData\" class=\"automations-column-field-column-option\" (click)=\"fieldsChange(column, item)\">\r\n                <div class=\"column-title\">{{item.title}}</div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </ng-template>\r\n        <ng-template #multiplePersonTemplate>\r\n          <nz-tabset>\r\n            <nz-tab nzTitle=\"选择支持的列\">\r\n              <div class=\"condition-container\">\r\n                <div class=\"field-wrapper\">\r\n                  <div *ngFor=\"let item of fieldsData\" class=\"automations-column-field-column-option\" (click)=\"fieldsChange(column, item)\">\r\n                    <div class=\"column-title\">{{item.title}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n            <nz-tab nzTitle=\"选择角色\">\r\n              <div class=\"condition-container\">\r\n                <div class=\"field-wrapper\">\r\n                  <nz-select style=\"width:100%;margin-top:10px\" [(ngModel)]=\"sourceRoleId\" (ngModelChange)=\"roleChange(column, $event)\" nzAllowClear nzPlaceHolder=\"请选择\" nzShowSearch>\r\n                    <nz-option *ngFor=\"let o of systemRoles\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n            <nz-tab nzTitle=\"选择人员\">\r\n              <div class=\"condition-container\">\r\n                <div class=\"field-wrapper\">\r\n                  <nz-select\r\n                    style=\"width:100%;margin-top:10px\"\r\n                    [(ngModel)]=\"sourceUserId\"\r\n                    (ngModelChange)=\"userChange(column, $event)\"\r\n                    (nzScrollToBottom)=\"loadMore()\"\r\n                    nzPlaceHolder=\"选择人员\"\r\n                    nzAllowClear\r\n                    nzShowSearch\r\n                    nzServerSearch\r\n                    (nzOnSearch)=\"onMemberSearch($event)\"\r\n                    [nzDropdownRender]=\"renderTemplate\">\r\n                    <nz-option *ngFor=\"let o of systemUsers\" [nzValue]=\"o.id\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n                  </nz-select>\r\n                  <ng-template #renderTemplate>\r\n                    <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n                  </ng-template>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n          </nz-tabset>\r\n        </ng-template>\r\n        <ng-template #statusTemplate>\r\n          <nz-tabset>\r\n            <nz-tab nzTitle=\"选择支持的列\">\r\n              <div class=\"condition-container\">\r\n                <div class=\"field-wrapper\">\r\n                  <div *ngFor=\"let item of fieldsData\" class=\"automations-column-field-column-option\" (click)=\"fieldsChange(column, item)\">\r\n                    <div class=\"column-title\">{{item.title}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n            <nz-tab nzTitle=\"选择面板数据\">\r\n              <div class=\"condition-container\">\r\n                <div class=\"field-wrapper\">\r\n                  <div *ngFor=\"let item of selectedLabels\" class=\"automation-column-status-column-option\" (click)=\"statusChange(column, item.label)\">\r\n                    <div [style]=\"{'background-color': item.color}\" class=\"column-title\">{{item.label}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n          </nz-tabset>\r\n        </ng-template>\r\n        <ng-template #taskProgressTemplate>\r\n          <nz-tabset>\r\n            <nz-tab nzTitle=\"选择支持的列\">\r\n              <div class=\"condition-container\">\r\n                <div class=\"field-wrapper\">\r\n                  <div *ngFor=\"let item of fieldsData\" class=\"automations-column-field-column-option\" (click)=\"fieldsChange(column, item)\">\r\n                    <div class=\"column-title\">{{item.title}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n            <nz-tab nzTitle=\"选择面板数据\">\r\n              <div class=\"condition-container\" style=\"padding:10px 0;\">\r\n                <div class=\"field-wrapper\">\r\n                  <div *ngFor=\"let item of selectedLabels\" class=\"automation-column-status-column-option\" (click)=\"statusChange(column, item)\">\r\n                    <div [style]=\"{'background-color': item.color}\" class=\"column-title\">{{item.label}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </nz-tab>\r\n          </nz-tabset>\r\n        </ng-template>\r\n      </ng-container>\r\n    </ng-container>\r\n  </div>\r\n</div>\r\n","styles":[".dropdown-cell-wrapper{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.dropdown-cell-wrapper .dropdown-option-wrapper{align-items:center;cursor:pointer;display:flex;justify-content:center;overflow:hidden;padding:0 8px;width:100%}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names{display:flex;height:100%;justify-content:center;min-width:0}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names .option-name.cell_focused{background-color:#fff}.dropdown-cell-wrapper .dropdown-option-wrapper .option-names .option-name{background-color:#e5f4ff;border-radius:24px;color:#009aff;display:flex;flex:0 1 auto;font-size:12px;line-height:24px;margin:2px;min-width:0;padding:0 4px}.dropdown-cell-wrapper .dropdown-option-wrapper .ds-text-component{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-counter-component{align-items:center;display:flex;justify-content:center;padding:0 8px;width:8px}.dropdown-counter-component .dropdown-counter-text{background-color:#000;border-radius:20px;color:#fff;font-size:10px;height:21px;line-height:17px;margin-left:8px;max-width:28px;min-width:20px;padding:2px 0}.dropdown-counter-component .dropdown-counter-text:before{content:attr(extracount)}.dropdown-template_content{width:250px}.dropdown-template_add-button{margin:10px 0}::ng-deep .dropdown-template_add-button .ant-btn{width:100%}.dropdown-template_add-input{margin:10px 0;width:100%}::ng-deep .dropdown-template_content .ant-tag{margin-bottom:5px;margin-right:5px}.dropdown-template_add-options{max-height:200px;overflow-y:auto}.dropdown-template_add-options li{background:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:300;height:30px;line-height:30px;outline:none;padding:0 8px;width:100%}.dropdown-template_add-options li.view-option:hover{background:#009aff;color:#fff}.dropdown-template_add-options li.edit-option{margin:5px 0}::ng-deep .dropdown-template_add-options li.edit-option .ant-input{border-style:dashed;width:90%}.dropdown-template_add-options li.edit-option span{color:rgba(0,0,0,.4);font-size:16px;margin-left:5px}.dropdown-template_add-options::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.dropdown-template_add-options::-webkit-scrollbar{height:5px;width:7px}.dropdown-template_add-options::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.1);border:1px solid rgba(85,85,85,.1)}.dropdown-template_add-options::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.dropdown-template_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px;text-align:center;width:100%}.dropdown-template_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.automations-dynamic-mapping-field-component .mapping-options{border-top:1px solid rgba(0,0,0,.1);margin-top:35px;max-height:400px;overflow-y:auto;padding-top:20px}.automations-dynamic-mapping-field-component .mapping-options .field-mapping{display:flex;justify-content:space-between;margin-bottom:15px}.automations-dynamic-mapping-field-component .mapping-options .field-mapping .target-field-icon{font-size:17px;padding:8px 5px;width:24px}.automations-dynamic-mapping-field-component .mapping-options .field-mapping .target-field-title{color:#333;flex-basis:30%;font-size:14px;line-height:29px;padding:4px 5px}.mapping-input-box-component{margin-right:10px}.mapping-input-box-component .input-box-container{align-items:center;border:1px solid #dfdfdf;border-radius:6px;display:flex;font-size:14px;justify-content:flex-start;min-height:40px;min-width:410px}.mapping-input-box-component .input-box-container .mapping-parts-container{display:flex;flex-wrap:wrap;justify-content:flex-start;padding:2px 4px;width:380px}.mapping-input-box-component .input-box-container .mapping-parts-container .custom-text-input{border:none;cursor:text;line-height:30px;max-width:150px;outline:none;overflow-x:hidden;padding:4px 5px;white-space:nowrap}.mapping-input-box-component .input-box-container .mapping-parts-container .custom-text-input.text-only{color:#666;max-width:380px;padding-left:8px;width:380px}.mapping-input-box-component .input-box-container .mapping-parts-container .custom-text-input.placeholder{color:#ccc}.mapping-input-box-component .input-box-container .add-field-icon{background:#009aff;border-radius:10px;color:#fff;height:16px;line-height:16px;margin-left:auto;margin-right:8px;text-align:center;width:16px}.mapping-input-box-component .input-box-container .add-field-wrapper{cursor:pointer;height:42px;padding-top:13px}.mapping-input-box-component .input-box-container .mapping-parts-container .custom-text-input:empty:before{content:attr(placeholder);display:block}.condition-container{min-height:50px;min-width:200px}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.automation-column-status-column-option{cursor:pointer;height:32px;line-height:32px;text-align:center;width:100%}.automation-column-status-column-option:hover{opacity:.8}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.field-wrapper{max-height:300px;overflow-y:auto}::ng-deep .mapping-parts-container .ant-input{border:none;border-radius:0;padding:0}.field-part{background:#e5f4ff;border-radius:16px;color:#009aff;display:flex;justify-content:space-between;line-height:20px;margin:0 3px;max-width:250px;min-width:80px;padding:2px 8px}.field-part .field-title{margin:0 8px;max-width:160px}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.field-part .remove-field-btn{cursor:pointer;font-size:10px;line-height:24px;margin-right:4px}.mapping-input-box-component .input-box-container .add-field-icon.disabled{cursor:auto;opacity:.5}::ng-deep .input-box-container .ant-select-selection{border:none;border-radius:0}::ng-deep .automations-dynamic-mapping-field-component .ant-select:not(.ant-select-customize-input) .ant-select-selector{border:none}"]}]}],"members":{"changeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3},"arguments":["nfData"]}]}],"changeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3},"arguments":["nfRecipeId"]}]}],"changeRelationId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3},"arguments":["nfRelationId"]}]}],"dataIdChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3},"arguments":["dataId"]}]}],"dataSourceChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3},"arguments":["dataSource"]}]}],"businessTypeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3},"arguments":["businessType"]}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"ChangeInstanceData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3},"arguments":["nfInstanceData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":114,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":117,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":118,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"getAutomationsBoundTypeMapData":[{"__symbolic":"method"}],"initMappingConfig":[{"__symbolic":"method"}],"getFields":[{"__symbolic":"method"}],"fieldsChange":[{"__symbolic":"method"}],"roleChange":[{"__symbolic":"method"}],"userChange":[{"__symbolic":"method"}],"statusChange":[{"__symbolic":"method"}],"removeFieldTag":[{"__symbolic":"method"}],"removeFieldItem":[{"__symbolic":"method"}],"onSubmit":[{"__symbolic":"method"}],"getSystemRolesData":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"nf-scheduler","providers":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":8,"character":27}],"template":"<div class=\"condition-container\">\r\n  <!-- begin -->\r\n  <div class=\"scheduler-component-wrapper\">\r\n    <div class=\"scheduler-component-header\">\r\n      <nz-radio-group [(ngModel)]=\"schedulerRadioValue\" (ngModelChange)=\"schedulerRadioChange($event)\">\r\n        <label nz-radio-button nzValue=\"daily\">日</label>\r\n        <label nz-radio-button nzValue=\"weekly\">周</label>\r\n        <label nz-radio-button nzValue=\"monthly\">月</label>\r\n        <label nz-radio-button nzValue=\"minutes\">时间间隔</label>\r\n      </nz-radio-group>\r\n    </div>\r\n    <div class=\"scheduler-component-container\">\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'daily'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每 </span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerDailyOccurrences\" />\r\n            <span class=\"recurrence-sentence\" *ngIf=\"!dateTypeEnable\">天的</span>\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              <span class=\"recurrence-sentence\">个 </span>\r\n              <nz-select [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange()\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n              </nz-select>\r\n              <span class=\"recurrence-sentence\"> 的 </span>\r\n            </ng-container>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\">\r\n                <nz-time-picker [(ngModel)]=\"schedulerDailyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"recurrence-sentence-preview\">\r\n          <ng-container *ngIf=\"!dateTypeEnable\">\r\n            {{'每 ' + schedulerDailyOccurrences + ' 天的 ' + (schedulerDailyTimeValue | date: 'HH:mm:ss')}}\r\n          </ng-container>\r\n          <ng-container *ngIf=\"dateTypeEnable\">\r\n            {{'每 ' + schedulerDailyOccurrences + ' 个 ' + schedulerDateTypeText + ' 的 ' + (schedulerDailyTimeValue | date: 'HH:mm:ss')}}\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'weekly'\">\r\n        <div class=\"scheduler-tab-wrapper Weekly\">\r\n          <div class=\"scheduler-grid\">\r\n            <div *ngFor=\"let item of schedulerWeeklyList\" class=\"scheduler-grid-item\" (click)=\"schedulerWeeklyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-wrapper\">\r\n            <div class=\"recurrence-sentence-setter\">\r\n              <span class=\"recurrence-sentence\">每 </span>\r\n              <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerWeeklyOccurrences\" />\r\n              <span class=\"recurrence-sentence\" *ngIf=\"!dateTypeEnable\">周的</span>\r\n              <ng-container *ngIf=\"dateTypeEnable\">\r\n                <span class=\"recurrence-sentence\"> 周 属于</span>\r\n                <nz-select [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange()\">\r\n                  <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n                </nz-select>\r\n                <span class=\"recurrence-sentence\"> 的 </span>\r\n              </ng-container>\r\n              <div class=\"hour-select-container\">\r\n                <div class=\"hour-select\">\r\n                  <nz-time-picker [(ngModel)]=\"schedulerWeeklyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\"></nz-time-picker>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-preview\">\r\n            <ng-container *ngIf=\"!dateTypeEnable\">\r\n              {{'每 ' + schedulerWeeklyOccurrences + ' 周的 ' + schedulerWeeklyMergeText + (schedulerWeeklyTimeValue | date: 'HH:mm:ss')}}\r\n            </ng-container>\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              {{'每 ' + schedulerWeeklyOccurrences + ' 周 属于 ' + schedulerDateTypeText + ' 的 ' +\r\n            schedulerWeeklyMergeText + ' 的 ' + (schedulerWeeklyTimeValue | date: 'HH:mm:ss')}}\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'monthly'\">\r\n        <div class=\"scheduler-tab-wrapper Monthly\">\r\n          <div class=\"scheduler-grid\">\r\n            <div *ngFor=\"let item of schedulerMonthlyList\" class=\"scheduler-grid-item\" (click)=\"schedulerMonthlyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-wrapper\">\r\n            <div class=\"recurrence-sentence-setter\">\r\n              <span class=\"recurrence-sentence\">每 </span>\r\n              <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerMonthlyOccurrences\" />\r\n              <span class=\"recurrence-sentence\" *ngIf=\"!dateTypeEnable\">月的</span>\r\n              <ng-container *ngIf=\"dateTypeEnable\">\r\n                <span class=\"recurrence-sentence\">月 属于</span>\r\n                <nz-select [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange()\">\r\n                  <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n                </nz-select>\r\n                <span class=\"recurrence-sentence\"> 的 </span>\r\n              </ng-container>\r\n              <div class=\"hour-select-container\">\r\n                <div class=\"hour-select\">\r\n                  <nz-time-picker [(ngModel)]=\"schedulerMonthlyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\"></nz-time-picker>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-preview\">\r\n            <ng-container *ngIf=\"!dateTypeEnable\">\r\n              {{'每 ' + schedulerMonthlyOccurrences + ' 月的 ' + schedulerMonthlyMergeText + ' ' + (schedulerMonthlyTimeValue | date: 'HH:mm:ss')}}\r\n            </ng-container>\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              {{'每 ' + schedulerMonthlyOccurrences + ' 月 属于 ' + schedulerDateTypeText + ' 的 ' +\r\n            schedulerMonthlyMergeText + ' 的 ' + (schedulerMonthlyTimeValue | date: 'HH:mm:ss')}}\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"schedulerRadioValue == 'minutes'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每</span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"minutesOccurrences\" (ngModelChange)=\"minutesChange()\" />\r\n            <span class=\"recurrence-sentence\">个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"minutesChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\">的</span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\" style=\"width: 70px\">\r\n                <nz-time-picker [(ngModel)]=\"hourStart\" nzFormat=\"HH\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"minutesChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 时至</span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\" style=\"width: 70px\">\r\n                <nz-time-picker [(ngModel)]=\"hourEnd\" nzFormat=\"HH\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"minutesChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 时 每隔</span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"minutesInterval\" (ngModelChange)=\"minutesChange()\" />\r\n            <span class=\"recurrence-sentence\">分钟</span>\r\n          </div>\r\n        </div>\r\n        <div class=\"recurrence-sentence-preview\">\r\n          {{minutesDescription}}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <!-- end -->\r\n  <div style=\"margin:10px 0\"><nz-divider></nz-divider></div>\r\n  <div class=\"scheduler-button\"><button (click)=\"schedulerOnSubmit()\" nz-button nzType=\"primary\">确定</button></div>\r\n</div>\r\n","styles":["::ng-deep .scheduler-component-wrapper .ant-radio-button-wrapper{text-align:center;width:104px}.scheduler-component-container{max-height:260px;overflow-y:auto}.scheduler-component-container .recurrence-sentence-setter{margin-bottom:8px;margin-left:8px;margin-top:16px}.scheduler-component-container .recurrence-sentence-setter .recurrence-numeric-input{border-radius:2px;display:inline;height:31px;margin-left:8px;margin-right:8px;outline:none;padding:6px;text-align:center;width:60px}.scheduler-component-container .recurrence-sentence-setter .recurrence-sentence{display:inline}.hour-select-container{display:inline-block}.hour-select-container .hour-select{margin-left:8px;width:130px}.workday-select-container{display:inline-block;margin:0 5px}::ng-deep .scheduler-component-container .ant-time-picker{width:120px}.scheduler-component-container .recurrence-sentence-preview{color:grey;font-size:12px;line-height:20px;margin-left:8px;margin-right:8px;margin-top:16px}.scheduler-component-container .scheduler-tab-wrapper.Weekly{max-height:150px;min-height:130px}.scheduler-component-container .scheduler-tab-wrapper{justify-content:flex-start;transition:max-height .15s,min-height .15s}.scheduler-grid{display:flex;flex-wrap:wrap;justify-content:felx-start;margin-left:5px;margin-top:8px;width:310px}.scheduler-grid .scheduler-grid-item{cursor:pointer;display:flex;font-size:13px;height:35px;justify-content:center;line-height:35px;margin:2px 4px;vertical-align:middle;width:35px}.scheduler-grid .scheduler-grid-item:hover{background-color:#009aff;border-radius:38px;color:#fff}.scheduler-grid .selected-item{background-color:rgba(0,154,255,.15);border-radius:100px;color:#009aff;font-weight:bolder}.recurrence-sentence-preview{width:310px}.scheduler-button{text-align:center}"]}]}],"members":{"dateTypeEnable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":96,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":99,"character":21},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":100,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"schedulerInit":[{"__symbolic":"method"}],"schedulerRadioChange":[{"__symbolic":"method"}],"schedulerDateTypeChange":[{"__symbolic":"method"}],"schedulerWeeklyTextChange":[{"__symbolic":"method"}],"schedulerWeeklyMerge":[{"__symbolic":"method"}],"schedulerMonthlyTextChange":[{"__symbolic":"method"}],"schedulerMonthlyMerge":[{"__symbolic":"method"}],"minutesChange":[{"__symbolic":"method"}],"getSelectTitle":[{"__symbolic":"method"}],"schedulerOnSubmit":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":1,"character":1},"arguments":[{"selector":"app-common-scheduler","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <!--<nf-pulse-integration-->\r\n      <!--#pulseIntegration-->\r\n      <!--*ngIf=\"isVisible\"-->\r\n      <!--(nfDataChange)=\"getTaskIntegrationData($event)\"-->\r\n      <!--[nfRecipeId]=\"recipeId\"-->\r\n      <!--[nfData]=\"boardData\">-->\r\n    <!--</nf-pulse-integration>-->\r\n    <nf-pulse-card\r\n      #pulseCard\r\n      [taskView]=\"'table'\"\r\n      [dateColumnEnable]=\"true\"\r\n      [nfData]=\"boardData\"\r\n      [nfInstanceData]=\"automation.pulseMapping\"\r\n      (nfChangeData)=\"getPulseCardData($event)\"></nf-pulse-card>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getPulseCardData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":31,"character":1},"arguments":[{"name":"longTimeAgo"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"transforStringJson"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"nf-when-part","template":"<div class=\"date-trigger-options\">\r\n  <div class=\"field-title\">选择什么时候</div>\r\n  <div class=\"date-offset-option\">\r\n    <nz-radio-group [(ngModel)]=\"whenComponentRadioValue\">\r\n      <label class=\"date-offset-option-radio\" nz-radio nzValue=\"1\">\r\n        <nz-time-picker [nzDisabled]=\"whenComponentRadioValue == '2'\" [(ngModel)]=\"whenComponentFirstTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" ></nz-time-picker>\r\n      </label>\r\n      <label class=\"date-offset-option-radio\" nz-radio nzValue=\"2\">\r\n        <span class=\"date-offset-option-item\">\r\n          <nz-input-number style=\"width: 50px !important\" [(ngModel)]=\"whenComponentCount\" [nzDisabled]=\"whenComponentRadioValue == '1'\" [nzMin]=\"1\" [nzStep]=\"1\"></nz-input-number>\r\n        </span>\r\n<span class=\"date-offset-option-item\">\r\n          <nz-select style=\"width: 80px;\" [nzDisabled]=\"whenComponentRadioValue == '1'\" [(ngModel)]=\"whenComponentUnit\">\r\n            <nz-option *ngFor=\"let item of unitList\" nzValue=\"{{item.id}}\" nzLabel=\"{{item.title}}\"></nz-option>\r\n          </nz-select>\r\n        </span>\r\n<span class=\"date-offset-option-item\">\r\n          <nz-select [nzDisabled]=\"whenComponentRadioValue == '1'\" [(ngModel)]=\"whenComponentRange\">\r\n            <nz-option *ngFor=\"let item of rangeList\" nzValue=\"{{item.id}}\" nzLabel=\"{{item.title}}\"></nz-option>\r\n          </nz-select>\r\n        </span>\r\n<span class=\"date-offset-option-item\">的</span>\r\n<span class=\"date-offset-option-item\">\r\n          <nz-time-picker [nzDisabled]=\"whenComponentRadioValue == '1'\" [(ngModel)]=\"whenComponentSecondTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" ></nz-time-picker>\r\n        </span>\r\n      </label>\r\n    </nz-radio-group>\r\n  </div>\r\n  <div style=\"margin:10px 0\"><nz-divider></nz-divider></div>\r\n  <div class=\"when-component-button\">\r\n    <button (click)=\"whenComponentOnSubmit()\" nz-button nzType=\"primary\">确定</button>\r\n  </div>\r\n</div>\r\n","styles":[".date-trigger-options .field-title{color:grey;margin-bottom:5px}.date-offset-option-radio{display:block;margin:5px 0}.date-offset-option-item{margin-right:5px}.when-component-button{text-align:center}"]}]}],"members":{"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"closePop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":74,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"whenComponentOnSubmit":[{"__symbolic":"method"}],"whenComponentHandleEdit":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"nf-board-member","providers":[{"__symbolic":"reference","name":"TaskService"}],"template":"<div class=\"pulse_members_wrapper_main_content\">\r\n  <div class=\"invite_members_wrapper\">\r\n    <nz-select\r\n      *ngIf=\"!isInviteState\"\r\n      style=\"width:100%\"\r\n      [(ngModel)]=\"selectedMemberValue\"\r\n      (ngModelChange)=\"selectedMemberChange($event)\"\r\n      (nzScrollToBottom)=\"loadMore()\"\r\n      nzPlaceHolder=\"选择成员\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      [nzDropdownRender]=\"renderTemplate\">\r\n      <nz-option *ngFor=\"let o of memberList\" [nzValue]=\"o.id\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n    <div *ngIf=\"isInviteState\">\r\n      <input id=\"memberMail\" nz-input placeholder=\"邮箱\" [email]=\"true\" type=\"email\" name=\"email\" [(ngModel)]=\"inviteMailInputValue\" autocomplete=\"off\" (ngModelChange)=\"inviteMailKeyEvent($event)\" />\r\n      <div class=\"confirm_unauthorized_email_dialog\">\r\n        <div class=\"main_message\" *ngIf=\"inviteButtonState\">\r\n          输入要邀请人的邮箱地址\r\n        </div>\r\n        <div class=\"main_message\" *ngIf=\"!inviteButtonState\">\r\n          被邀请人的邮箱为<strong style=\"font-weight: 500\">{{inviteMailInputValue}}</strong>\r\n        </div>\r\n        <nz-button-group style=\"width:100%;\">\r\n          <button style=\"width:50%\" class=\"invite_user_button\" nz-button (click)=\"cancelInvite()\">取消</button>\r\n          <button style=\"width:50%\" class=\"invite_user_button\" nz-button (click)=\"doInviteMember()\" nzType=\"primary\" [disabled]=\"inviteButtonState\">邀请</button>\r\n        </nz-button-group>\r\n      </div>\r\n    </div>\r\n    <div style=\"text-align: right; padding-top: 5px;\">\r\n      <a style=\"width: 150px;\" (click)=\"inviteMember()\">通过邮箱邀请新成员</a>\r\n    </div>\r\n  </div>\r\n  <div class=\"pulse_members_list\">\r\n    <ul class=\"pulse_members\" *ngIf=\"boardSubscribersData.length > 0\">\r\n      <li class=\"pulse_member\" *ngFor=\"let item of boardSubscribersData\">\r\n        <div class=\"user-name-details-container\">\r\n          <div class=\"user-name-wrapper\">\r\n            <div class=\"member_profile_image_container\">\r\n              <img src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2MDMzMDM0MTI5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjkzNzkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDEyNTUuNDg5OTA2IiBwLWlkPSI5MzgwIiBmaWxsPSIjNzA3MDcwIj48L3BhdGg+PHBhdGggZD0iTTkwNS4xODQ4ODkgMzM0LjEzNTUxOWMtMjEuNDkxMTA1LTUwLjg2MjI4My01Mi4yOTUwMjMtOTYuNTA1Mjk3LTkxLjQ5MDcwNi0xMzUuNTk4NjQxLTM5LjE5NTY4My0zOS4xOTU2ODMtODQuODM4Njk3LTY5Ljk5OTYtMTM1LjU5ODY0MS05MS40OTA3MDYtNTIuNjAyMDM5LTIyLjMwOTgxNC0xMDguNDc4OTEzLTMzLjU2NzA2LTE2Ni4wOTU1NDMtMzMuNTY3MDZzLTExMy40OTM1MDQgMTEuMjU3MjQ2LTE2Ni4wOTU1NDMgMzMuNTY3MDZjLTUwLjg2MjI4MyAyMS40OTExMDUtOTYuNTA1Mjk3IDUyLjI5NTAyMy0xMzUuNTk4NjQxIDkxLjQ5MDcwNnMtNjkuOTk5NiA4NC44Mzg2OTctOTEuNDkwNzA2IDEzNS41OTg2NDFjLTIyLjMwOTgxNCA1Mi42MDIwMzktMzMuNTY3MDYgMTA4LjQ3ODkxMy0zMy41NjcwNiAxNjYuMDk1NTQzczExLjI1NzI0NiAxMTMuNDkzNTA0IDMzLjU2NzA2IDE2Ni4wOTU1NDNjMjEuNDkxMTA1IDUwLjg2MjI4MyA1Mi4yOTUwMjMgOTYuNTA1Mjk3IDkxLjQ5MDcwNiAxMzUuNTk4NjQxIDM5LjE5NTY4MyAzOS4xOTU2ODMgODQuODM4Njk3IDY5Ljk5OTYgMTM1LjU5ODY0MSA5MS40OTA3MDYgNTIuNjAyMDM5IDIyLjMwOTgxNCAxMDguNDc4OTEzIDMzLjU2NzA2IDE2Ni4wOTU1NDMgMzMuNTY3MDZzMTEzLjQ5MzUwNC0xMS4yNTcyNDYgMTY2LjA5NTU0My0zMy41NjcwNmM1MC44NjIyODMtMjEuNDkxMTA1IDk2LjUwNTI5Ny01Mi4yOTUwMjMgMTM1LjU5ODY0MS05MS40OTA3MDYgMzkuMTk1NjgzLTM5LjE5NTY4MyA2OS45OTk2LTg0LjgzODY5NyA5MS40OTA3MDYtMTM1LjU5ODY0MSAyMi4zMDk4MTQtNTIuNjAyMDM5IDMzLjU2NzA2LTEwOC40Nzg5MTMgMzMuNTY3MDYtMTY2LjA5NTU0M1M5MjcuNDk0NzAzIDM4Ni43Mzc1NTcgOTA1LjE4NDg4OSAzMzQuMTM1NTE5ek01MTIgODgxLjk1NDAyOGMtOTEuMDgxMzUxIDAtMTc0Ljc5NDMyMy0zMi4wMzE5ODEtMjQwLjM5MzM2NC04NS40NTI3MjggMi45Njc4MTktMTMwLjA3MjM1NyAxMDkuNzA2OTc2LTIzNC44NjcwOCAyNDAuMzkzMzY0LTIzNC44NjcwOHMyMzcuNDI1NTQ1IDEwNC44OTcwNjIgMjQwLjM5MzM2NCAyMzQuODY3MDhDNjg2Ljc5NDMyMyA4NDkuOTIyMDQ3IDYwMy4wODEzNTEgODgxLjk1NDAyOCA1MTIgODgxLjk1NDAyOHpNNDA0LjU0NDQ3MyA0MjEuNDMwMzQyYzAtNTkuMjU0MDQ4IDQ4LjIwMTQ3OS0xMDcuNDU1NTI3IDEwNy40NTU1MjctMTA3LjQ1NTUyNyA1OS4yNTQwNDggMCAxMDcuNDU1NTI3IDQ4LjIwMTQ3OSAxMDcuNDU1NTI3IDEwNy40NTU1MjcgMCA1OS4yNTQwNDgtNDguMjAxNDc5IDEwNy40NTU1MjctMTA3LjQ1NTUyNyAxMDcuNDU1NTI3QzQ1Mi43NDU5NTIgNTI4Ljg4NTg2OCA0MDQuNTQ0NDczIDQ4MC42ODQzODkgNDA0LjU0NDQ3MyA0MjEuNDMwMzQyek03ODEuMzU1MTg3IDc3MC41MDcyOTZjLTYuOTU5MDI1LTYwLjQ4MjExMS0zMy44NzQwNzYtMTE2LjM1ODk4NS03Ny41NzI2NTYtMTYwLjA1NzU2NS0zNC4xODEwOTEtMzQuMTgxMDkxLTc1LjgzMjktNTguMDI1OTg0LTEyMS4xNjg4OTktNzAuMjA0Mjc3IDQwLjQyMzc0Ni0yNC4xNTE5MDkgNjcuNjQ1ODEzLTY4LjM2MjE4MyA2Ny42NDU4MTMtMTE4LjcxMjc3MiAwLTc2LjEzOTkxNi02Mi4wMTcxOS0xMzguMTU3MTA2LTEzOC4xNTcxMDYtMTM4LjE1NzEwNi03Ni4xMzk5MTYgMC0xMzguMTU3MTA2IDYyLjAxNzE5LTEzOC4xNTcxMDYgMTM4LjE1NzEwNiAwIDUwLjQ1MjkyOCAyNy4xMTk3MjggOTQuNjYzMjAyIDY3LjY0NTgxMyAxMTguNzEyNzcyLTQ1LjQzODMzNyAxMi4xNzgyOTMtODcuMDkwMTQ2IDM2LjAyMzE4Ni0xMjEuMTY4ODk5IDcwLjIwNDI3Ny00My42OTg1ODEgNDMuNjk4NTgxLTcwLjYxMzYzMiA5OS42Nzc3OTMtNzcuNTcyNjU2IDE2MC4wNTc1NjUtNjkuMzg1NTY5LTY5LjE4MDg5MS0xMTIuMzY3Nzc5LTE2NC43NjUxNDEtMTEyLjM2Nzc3OS0yNzAuMTczODk2IDAtMjEwLjUxMDQ5NCAxNzEuMjEyNDczLTM4MS43MjI5NjYgMzgxLjcyMjk2Ni0zODEuNzIyOTY2IDIxMC41MTA0OTQgMCAzODEuNzIyOTY2IDE3MS4yMTI0NzMgMzgxLjcyMjk2NiAzODEuNzIyOTY2Qzg5My43MjI5NjYgNjA1Ljc0MjE1NSA4NTAuNzQwNzU2IDcwMS4zMjY0MDQgNzgxLjM1NTE4NyA3NzAuNTA3Mjk2eiIgcC1pZD0iOTM4MSIgZmlsbD0iIzcwNzA3MCI+PC9wYXRoPjwvc3ZnPg==\" class=\"person-bullet-image person-bullet-component members-list-profile-image\">\r\n            </div>\r\n            <div class=\"user_details\">\r\n              <div class=\"user_details_info\">\r\n                <span class=\"user_details_name_title\" *ngIf=\"item.name\">\r\n                  {{item.name + '(' + item.id + ')'}}\r\n                </span>\r\n                <span class=\"user_details_name_title\" *ngIf=\"!item.name\">\r\n                  {{item.id}}\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <span class=\"actions\">\r\n            <ng-container *ngIf=\"item.isOwner === 'true'\">\r\n              <a (click)=\"handleBoardMemberAuthority('owner', item)\" href=\"javascript:void(0)\" class=\"action_icon crown_user\" nz-tooltip nzTooltipTitle=\"拥有者权限\" style=\"background: #d29c28\">\r\n                <i nz-icon nzType=\"crown\" nzTheme=\"fill\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"item.isOwner === 'false'\">\r\n              <a (click)=\"handleBoardMemberAuthority('owner', item)\" href=\"javascript:void(0)\" class=\"action_icon crown_user\" nz-tooltip nzTooltipTitle=\"拥有者权限\">\r\n                <i nz-icon nzType=\"crown\" nzTheme=\"fill\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"item.isViewOnly === 'true'\">\r\n              <a (click)=\"handleBoardMemberAuthority('viewOnly', item)\" href=\"javascript:void(0)\" class=\"action_icon read_user\" nz-tooltip nzTooltipTitle=\"只读权限\" style=\"background: #f65f7c\">\r\n                <i nz-icon nzType=\"read\" nzTheme=\"outline\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"item.isViewOnly === 'false'\">\r\n              <a (click)=\"handleBoardMemberAuthority('viewOnly', item)\" href=\"javascript:void(0)\" class=\"action_icon read_user\" nz-tooltip nzTooltipTitle=\"只读权限\">\r\n                <i nz-icon nzType=\"read\" nzTheme=\"outline\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"item.isViewAll === 'true'\">\r\n              <a (click)=\"handleBoardMemberAuthority('viewAll', item)\" href=\"javascript:void(0)\" class=\"action_icon view_user\" nz-tooltip nzTooltipTitle=\"查看全部权限\" style=\"background: #2caff6\">\r\n                <i nz-icon nzType=\"eye\" nzTheme=\"outline\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"item.isViewAll === 'false'\">\r\n              <a (click)=\"handleBoardMemberAuthority('viewAll', item)\" href=\"javascript:void(0)\" class=\"action_icon view_user\" nz-tooltip nzTooltipTitle=\"查看全部权限\">\r\n                <i nz-icon nzType=\"eye\" nzTheme=\"outline\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"columnData\">\r\n              <a\r\n                nz-popconfirm\r\n                nzPopconfirmTitle=\"是否确认删除?\"\r\n                (nzOnConfirm)=\"removeMember(item.id)\"\r\n                href=\"javascript:void(0)\"\r\n                nz-tooltip nzTooltipTitle=\"删除\"\r\n                class=\"delete_user icon icon-dapulse-close delete\">\r\n                <i nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i>\r\n              </a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"!columnData\">\r\n              <a\r\n                nz-popconfirm\r\n                nzPopconfirmTitle=\"是否确认删除?\"\r\n                (nzOnConfirm)=\"removeMember(item.subscriberId)\"\r\n                href=\"javascript:void(0)\"\r\n                nz-tooltip nzTooltipTitle=\"删除\"\r\n                class=\"delete_user icon icon-dapulse-close delete\">\r\n                <i nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i>\r\n              </a>\r\n            </ng-container>\r\n            </span>\r\n        </div>\r\n      </li>\r\n    </ul>\r\n    <nz-empty *ngIf=\"boardSubscribersData.length == 0\"></nz-empty>\r\n  </div>\r\n  <!-- <div class=\"text-center page-list\" *ngIf=\"boardSubscribersData.length > 0\">\r\n    <nz-pagination (nzPageIndexChange)=\"pageChange($event)\" [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" [nzPageSize]=\"pageSize\" [nzShowTotal]=\"totalTemplate\"></nz-pagination>\r\n    <ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>\r\n  </div> -->\r\n</div>\r\n","styles":[".pulse_members_wrapper_main_content{position:relative;width:100%}.pulse_members_wrapper_main_content .title.member_list_title{font-size:16px;font-weight:400;margin:20px 0 0}.pulse_members_list{display:block;margin:8px 0;max-height:350px;min-height:350px;overflow-y:auto}.pulse_members{display:block}.pulse_members_wrapper_main_content.private .pulse_members,.pulse_members_wrapper_main_content.public .pulse_members{max-height:340px}.pulse_members li.pulse_member{align-items:center;display:flex;height:45px;justify-content:space-between;margin-right:8px;position:relative}.pulse_members li.pulse_member .user-name-details-container{align-items:center;display:flex;justify-content:space-between;width:100%}.pulse_members li.pulse_member .user-name-details-container .user-name-wrapper{align-items:center;display:flex;flex-direction:row;width:70%}.pulse_members li.pulse_member .user-name-details-container .member_profile_image_container{align-items:center;display:flex;margin-right:4px}.person-bullet-component{border-radius:50%;display:flex;flex-shrink:0;height:25px;position:relative;width:25px}.pulse_members li.pulse_member .members-list-profile-image{height:30px;margin-right:4px;width:30px}.pulse_members li.pulse_member .user_details{align-items:center;color:#b0b0b0;display:flex;justify-content:space-between;margin-left:5px;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;width:380px}.pulse_members li.pulse_member .user_details .user_details_info{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.pulse_members li.pulse_member .user_details .user_details_info .user_details_name_title{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse_members li.pulse_member span.actions{float:right;margin-top:2px}.pulse_members li.pulse_member span.actions .action_icon{background:#9699a6;border-radius:100%;color:#fff;display:inline-block;font-size:14px;height:20px;line-height:20px;margin-left:3px;position:relative;text-align:center;top:-2px;width:20px}.pulse_members li.pulse_member span.actions .action_icon.read_user,.pulse_members li.pulse_member span.actions .action_icon.view_user{line-height:22px}.pulse_members_wrapper.private .pulse_members span.actions .crown_user{background:#f65f7c;color:#fff}.pulse_members li.pulse_member span.actions .delete_user{color:#9699a6;font-size:19px;margin-left:5px}.invite_members_link{color:#009aff;cursor:pointer;padding:8px}.invite_members_link:hover{background:#009aff;color:#fff}.confirm_unauthorized_email_dialog{background-color:#fff;border-radius:8px;box-shadow:0 8px 16px rgba(0,0,0,.166242);box-sizing:content-box;display:block;opacity:1;padding:10px;position:absolute;width:calc(100% - 20px);z-index:5}.confirm_unauthorized_email_dialog .main_message{border-radius:4px;font-size:14px;font-style:normal;font-weight:300;line-height:22px;padding:10px 0 15px}"]}]}],"members":{"changeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3},"arguments":["nfData"]}]}],"changeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3},"arguments":["nfBoardId"]}]}],"changeColumn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3},"arguments":["nfColumnData"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":57,"character":21},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":58,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"getBoardUserData":[{"__symbolic":"method"}],"getBoardSubscribersData":[{"__symbolic":"method"}],"addBoardSubscriber":[{"__symbolic":"method"}],"handleBoardMemberAuthority":[{"__symbolic":"method"}],"editBoardMemberData":[{"__symbolic":"method"}],"handleOwnerCount":[{"__symbolic":"method"}],"selectedMemberChange":[{"__symbolic":"method"}],"inviteMember":[{"__symbolic":"method"}],"cancelInvite":[{"__symbolic":"method"}],"inviteMailKeyEvent":[{"__symbolic":"method"}],"doInviteMember":[{"__symbolic":"method"}],"removeMember":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"nf-timer","template":"<div class=\"condition-container\">\r\n  <div class=\"timer-component-wrapper\">\r\n    <div class=\"timer-component-header\">\r\n      <nz-radio-group [(ngModel)]=\"schedulerConfig.type\" (ngModelChange)=\"timerRadioChange()\">\r\n        <label nz-radio-button nzValue=\"daily\">日</label>\r\n        <label nz-radio-button nzValue=\"monthly\">月</label>\r\n        <label nz-radio-button nzValue=\"quarter\">季</label>\r\n        <label nz-radio-button nzValue=\"annual\">年</label>\r\n        <label nz-radio-button nzValue=\"minutes\">时间间隔</label>\r\n      </nz-radio-group>\r\n    </div>\r\n    <div class=\"timer-component-container\">\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"schedulerConfig.type == 'daily'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每 </span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"schedulerConfig.occurrences\" (ngModelChange)=\"dailyChange()\" />\r\n            <span class=\"recurrence-sentence\">个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerConfig.unit\" (ngModelChange)=\"dailyChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\">的</span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\">\r\n                <nz-time-picker [(ngModel)]=\"time\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"dailyChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"schedulerConfig.type == 'monthly'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每</span>\r\n<!--            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"schedulerConfig.occurrences\" (ngModelChange)=\"monthlyChange()\" />-->\r\n            <span class=\"recurrence-sentence\">月的</span>\r\n            <span class=\"t-text-style\" nz-popover [(nzPopoverVisible)]=\"visible\" nzPopoverPlacement=\"bottom\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"monthlyContentTemplate\">\r\n              T\r\n            </span>\r\n            <ng-template #monthlyContentTemplate>\r\n              <nf-t-day [nfData]=\"schedulerConfig.TDayConfig\" (nfDataChange)=\"getTDayConfig($event)\" (closeTDay)=\"closeTDay()\"></nf-t-day>\r\n            </ng-template>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:70px\" [(ngModel)]=\"offset\" (ngModelChange)=\"monthOffsetChange()\">\r\n                <nz-option *ngFor=\"let item of rangeList\" [nzValue]=\"item.value\" nzLabel=\"{{item.title}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"count\" (ngModelChange)=\"monthCountChange()\" />\r\n            <span class=\"recurrence-sentence\">个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerConfig.offset.unit\" (ngModelChange)=\"monthlyChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 的 </span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\">\r\n                <nz-time-picker [(ngModel)]=\"time\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"monthlyChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"schedulerConfig.type == 'quarter'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每</span>\r\n<!--            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"schedulerConfig.occurrences\" (ngModelChange)=\"seasonChange()\" />-->\r\n            <span class=\"recurrence-sentence\">季度的</span>\r\n            <span class=\"t-text-style\" nz-popover [(nzPopoverVisible)]=\"visible\" nzPopoverPlacement=\"bottom\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"seasonContentTemplate\">\r\n              T\r\n            </span>\r\n            <ng-template #seasonContentTemplate>\r\n              <nf-t-day [nfData]=\"schedulerConfig.TDayConfig\" (nfDataChange)=\"getTDayConfig($event)\" (closeTDay)=\"closeTDay()\"></nf-t-day>\r\n            </ng-template>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:70px\" [(ngModel)]=\"offset\" (ngModelChange)=\"seasonOffsetChange()\">\r\n                <nz-option *ngFor=\"let item of rangeList\" [nzValue]=\"item.value\" nzLabel=\"{{item.title}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"count\" (ngModelChange)=\"seasonChange()\" />\r\n            <span class=\"recurrence-sentence\">个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerConfig.offset.unit\" (ngModelChange)=\"seasonCountChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 的 </span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\">\r\n                <nz-time-picker [(ngModel)]=\"time\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"seasonChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"schedulerConfig.type == 'annual'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每</span>\r\n<!--            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"schedulerConfig.occurrences\" (ngModelChange)=\"yearChange()\" />-->\r\n            <span class=\"recurrence-sentence\">年的</span>\r\n            <span class=\"t-text-style\" nz-popover [(nzPopoverVisible)]=\"visible\" nzPopoverPlacement=\"bottom\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"yearContentTemplate\">\r\n              T\r\n            </span>\r\n            <ng-template #yearContentTemplate>\r\n              <nf-t-day [nfData]=\"schedulerConfig.TDayConfig\" (nfDataChange)=\"getTDayConfig($event)\" (closeTDay)=\"closeTDay()\"></nf-t-day>\r\n            </ng-template>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:70px\" [(ngModel)]=\"offset\" (ngModelChange)=\"yearOffsetChange()\">\r\n                <nz-option *ngFor=\"let item of rangeList\" [nzValue]=\"item.value\" nzLabel=\"{{item.title}}\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"count\" (ngModelChange)=\"yearCountChange()\" />\r\n            <span class=\"recurrence-sentence\">个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerConfig.offset.unit\" (ngModelChange)=\"yearChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 的 </span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\">\r\n                <nz-time-picker [(ngModel)]=\"time\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"yearChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"schedulerConfig.type == 'minutes'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每</span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"schedulerConfig.occurrences\" (ngModelChange)=\"minutesChange()\" />\r\n            <span class=\"recurrence-sentence\">个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerConfig.dateType\" (ngModelChange)=\"minutesChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\">的</span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\" style=\"width: 70px\">\r\n                <nz-time-picker [(ngModel)]=\"hourStart\" nzFormat=\"HH\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"minutesChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 时至</span>\r\n            <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\" style=\"width: 70px\">\r\n                <nz-time-picker [(ngModel)]=\"hourEnd\" nzFormat=\"HH\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"minutesChange()\"></nz-time-picker>\r\n              </div>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 时 每隔</span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"schedulerConfig.minutesInterval\" (ngModelChange)=\"minutesChange()\" />\r\n            <span class=\"recurrence-sentence\">分钟</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"recurrence-sentence-preview\">\r\n        {{schedulerConfig.description}}\r\n      </div>\r\n    </div>\r\n    <div style=\"margin:10px 0\"><nz-divider></nz-divider></div>\r\n    <div class=\"time-button\"><button (click)=\"timerOnSubmit()\" nz-button nzType=\"primary\">确定</button></div>\r\n  </div>\r\n</div>\r\n","styles":["::ng-deep .timer-component-wrapper .ant-radio-button-wrapper{text-align:center;width:104px}.timer-component-container{max-height:260px;overflow-y:auto}.timer-component-container .recurrence-sentence-setter{margin-bottom:8px;margin-left:8px;margin-top:16px}.timer-component-container .recurrence-sentence-setter .recurrence-numeric-input{border-radius:2px;display:inline;height:31px;margin-left:8px;margin-right:8px;outline:none;padding:6px;text-align:center;width:30px}.hour-select-container{display:inline-block}.hour-select-container .hour-select{margin-left:8px;width:100px}::ng-deep .timer-component-container .ant-time-picker{width:90px}.workday-select-container{display:inline-block;margin:0 5px}.t-text-style{border-bottom:2px solid #000;cursor:pointer;font-size:20px;margin:0 10px}.time-button{text-align:center}.recurrence-sentence-preview{color:grey;font-size:12px;line-height:20px;margin-left:8px;margin-right:8px;margin-top:16px}"]}]}],"members":{"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":86,"character":3}}]}],"closeTimer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"timerRadioChange":[{"__symbolic":"method"}],"setTDayConfig":[{"__symbolic":"method"}],"typeChange":[{"__symbolic":"method"}],"dailyChange":[{"__symbolic":"method"}],"monthlyChange":[{"__symbolic":"method"}],"seasonChange":[{"__symbolic":"method"}],"yearChange":[{"__symbolic":"method"}],"minutesChange":[{"__symbolic":"method"}],"monthOffsetChange":[{"__symbolic":"method"}],"monthCountChange":[{"__symbolic":"method"}],"seasonOffsetChange":[{"__symbolic":"method"}],"seasonCountChange":[{"__symbolic":"method"}],"yearOffsetChange":[{"__symbolic":"method"}],"yearCountChange":[{"__symbolic":"method"}],"getSelectTitle":[{"__symbolic":"method"}],"getTDayConfig":[{"__symbolic":"method"}],"closeTDay":[{"__symbolic":"method"}],"timerOnSubmit":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-timer","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [(nzPopoverVisible)]=\"timerConditionVisible\" [nzPopoverContent]=\"timerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!timerConditionData\">\r\n                      <span>{{timerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{timerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"timerConditionData\">\r\n                      <span class=\"selected\">{{timerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #timerConditionTemplate>\r\n                      <nf-timer [nfData]=\"timerConditionData\" (nfDataChange)=\"getTimerData($event)\" (closeTimer)=\"closeTimer()\"></nf-timer>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> ，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover [(nzPopoverVisible)]=\"conditionVisible\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"conditionContentTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.conditions.length > 0 ? 'selected':''\">条件</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #conditionContentTemplate>\r\n                    <nf-condition [nfData]=\"automation.conditions\" [optionsData]=\"conditionData\" (nfDataChange)=\"getConditionData($event)\"></nf-condition>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 满足时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":45,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getTimerData":[{"__symbolic":"method"}],"closeTimer":[{"__symbolic":"method"}],"getConditionData":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-send-email","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n              <span class=\"automations-editor-field-term-component  in-editor\">\r\n                <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                  <div class=\"ds-text-component\">\r\n                    <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                  </div>\r\n                </div>\r\n                <ng-template #groupConditionTemplate>\r\n                  <div class=\"condition-container\">\r\n                    <div class=\"field-title\">选择分组</div>\r\n                    <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                      <div class=\"column-icon\">\r\n                        <span class=\"column-type-icon\">\r\n                          <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                        </span>\r\n                      </div>\r\n                      <div class=\"column-title\">{{group.title}}</div>\r\n                    </div>\r\n                  </div>\r\n                </ng-template>\r\n              </span>\r\n              <span class=\"automations-editor-text-term-component\"> 中创建 任务</span>\r\n              <span class=\"automations-editor-text-term-component\"> 后，发送 </span>\r\n              <span class=\"automations-editor-field-term-component in-editor\">\r\n                <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                  <div class=\"ds-text-component\">\r\n                    <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                  </div>\r\n                  <ng-template #mailTemplate>\r\n                    <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                     [smsTemplateList]=\"smsTemplateList\"\r\n                                     (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                  </ng-template>\r\n                </div>\r\n              </span>\r\n              <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n              <span class=\"automations-editor-field-term-component in-editor\">\r\n                <div class=\"field-text\">\r\n                  <div class=\"ds-text-component\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                  </div>\r\n                  <ng-template #receiverTemplate>\r\n                    <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                  </ng-template>\r\n                </div>\r\n              </span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":44,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-timer-email","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\">在 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"datePopVisible\" [nzPopoverContent]=\"dateTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.dueDateColumn}\">{{dateDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #dateTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择日期列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of dateColumnList\" [ngClass]=\"automation.dueDateColumn==item.id ? 'selected': ''\" (click)=\"dateSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor partition\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"whenConditionPopVisible\" [nzPopoverContent]=\"whenComponentTemplate\">\r\n                    <div class=\"ds-text-component\" nz-tooltip nzTooltipTitle=\"{{whenComponentDisplayText}}\">\r\n                      <span [ngClass]=\"{'selected': whenComponentData}\">{{whenComponentDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #whenComponentTemplate>\r\n                      <nf-when-part [nfData]=\"whenComponentData\" (nfDataChange)=\"getWhenComponentData($event)\" (closePop)=\"closeWhenPop()\"></nf-when-part>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> ，发 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                    </div>\r\n                    <ng-template #mailTemplate>\r\n                      <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                       [smsTemplateList]=\"smsTemplateList\"\r\n                                       (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                    </div>\r\n                    <ng-template #receiverTemplate>\r\n                      <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":54,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"dateSelectChange":[{"__symbolic":"method"}],"getWhenComponentData":[{"__symbolic":"method"}],"closeWhenPop":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"nf-t-day","template":"<div class=\"condition-container\">\r\n  <div class=\"day-component-wrapper\">\r\n    <div class=\"day-component-header\">\r\n      <nz-radio-group [(ngModel)]=\"TDayConfig.type\" (ngModelChange)=\"tDayRadioChange()\" [disabled]=\"true\">\r\n        <label nz-radio-button nzValue=\"daily\">日</label>\r\n        <label nz-radio-button nzValue=\"monthly\">月</label>\r\n        <label nz-radio-button nzValue=\"quarter\">季</label>\r\n        <label nz-radio-button nzValue=\"annual\">年</label>\r\n      </nz-radio-group>\r\n    </div>\r\n    <div class=\"day-component-container\">\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"TDayConfig.type == 'daily'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每个</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"TDayConfig.offset.unit\" (ngModelChange)=\"dailyChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"TDayConfig.type == 'monthly'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每月</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"offset\" (ngModelChange)=\"monthOffsetChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let orderType of orderTypes;\" [nzValue]=\"orderType.value\" [nzLabel]=\"orderType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 第 </span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"count\" (ngModelChange)=\"monthCountChange()\" />\r\n            <span class=\"recurrence-sentence\"> 个 </span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"TDayConfig.offset.unit\" (ngModelChange)=\"monthlyChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"TDayConfig.type == 'quarter'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每季</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"offset\" (ngModelChange)=\"seasonOffsetChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let orderType of orderTypes;\" [nzValue]=\"orderType.value\" [nzLabel]=\"orderType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 第 </span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"count\" (ngModelChange)=\"seasonCountChange()\" />\r\n            <span class=\"recurrence-sentence\"> 个 </span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"TDayConfig.offset.unit\" (ngModelChange)=\"seasonChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"timer-component-container-inner\" *ngIf=\"TDayConfig.type == 'annual'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每年</span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"offset\" (ngModelChange)=\"yearOffsetChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let orderType of orderTypes;\" [nzValue]=\"orderType.value\" [nzLabel]=\"orderType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n            <span class=\"recurrence-sentence\"> 第 </span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"count\" (ngModelChange)=\"yearCountChange()\" />\r\n            <span class=\"recurrence-sentence\"> 个 </span>\r\n            <div class=\"workday-select-container\">\r\n              <nz-select style=\"width:80px\" [(ngModel)]=\"TDayConfig.offset.unit\" (ngModelChange)=\"yearChange()\" nzPlaceHolder=\"请选择\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.title\"></nz-option>\r\n              </nz-select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"recurrence-sentence-preview\">\r\n        {{TDayConfig.description}}\r\n      </div>\r\n    </div>\r\n    <div style=\"margin:10px 0\"><nz-divider></nz-divider></div>\r\n    <div class=\"time-button\"><button (click)=\"tDayOnSubmit()\" nz-button nzType=\"primary\">确定</button></div>\r\n  </div>\r\n</div>\r\n","styles":["::ng-deep .day-component-wrapper .ant-radio-button-wrapper{text-align:center;width:80px}.day-component-container{max-height:260px;overflow-y:auto}.day-component-container .recurrence-sentence-setter{margin-bottom:8px;margin-left:8px;margin-top:16px}.day-component-container .recurrence-sentence-setter .recurrence-numeric-input{border-radius:2px;display:inline;height:31px;margin-left:8px;margin-right:8px;outline:none;padding:6px;text-align:center;width:30px}.hour-select-container{display:inline-block}.hour-select-container .hour-select{margin-left:8px;width:100px}::ng-deep .day-component-container .ant-time-picker{width:90px}.workday-select-container{display:inline-block;margin:0 5px}.t-text-style{border-bottom:2px solid #000;cursor:pointer;font-size:20px;margin:0 10px}.time-button{text-align:center}.recurrence-sentence-preview{color:grey;font-size:12px;line-height:20px;margin-left:8px;margin-right:8px;margin-top:16px}"]}]}],"members":{"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"closeTDay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"tDayRadioChange":[{"__symbolic":"method"}],"dailyChange":[{"__symbolic":"method"}],"monthlyChange":[{"__symbolic":"method"}],"seasonChange":[{"__symbolic":"method"}],"yearChange":[{"__symbolic":"method"}],"monthOffsetChange":[{"__symbolic":"method"}],"monthCountChange":[{"__symbolic":"method"}],"seasonOffsetChange":[{"__symbolic":"method"}],"seasonCountChange":[{"__symbolic":"method"}],"yearOffsetChange":[{"__symbolic":"method"}],"yearCountChange":[{"__symbolic":"method"}],"getSelectTitle":[{"__symbolic":"method"}],"tDayOnSubmit":[{"__symbolic":"method"}]}},"ɵbe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"nf-condition","template":"<div class=\"condition-container\" style=\"padding: 8px; min-width: 480px;\">\r\n  <div style=\"display: flex; margin-bottom: 16px; align-items: flex-end;\">\r\n    <div style=\"margin-right: 8px; font-size: 18px; font-weight: 400;\">\r\n      条件\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"filterConditions.length > 0\">\r\n    <div style=\"display: flex; margin-bottom: 16px;\" *ngFor=\"let condition of filterConditions; let i = index;\">\r\n      <div style=\"min-width: 0; flex: 1;\">\r\n        <div style=\"height: 100%; display: flex;\">\r\n          <div style=\"margin-right: 8px; max-width: 500px;\">\r\n            <div style=\"background: rgb(255,255,255); color: rgb(0, 154, 255); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                 [ngClass]=\"condition['title']? 'condition-value': ''\"\r\n                 nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"conditionContent\"\r\n                 nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['visible']\"\r\n                 nzPopoverPlacement=\"bottomLeft\"\r\n            >\r\n              <div class=\"ds-text-component\">\r\n                <span>{{condition['title'] ? condition['title']: '任意条件'}}</span>\r\n              </div>\r\n              <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n            </div>\r\n            <ng-template #conditionContent>\r\n              <div class=\"automation-list-field-component\">\r\n                <div style=\"margin-bottom: 8px;\">\r\n                  <div>\r\n                    <input class=\"list-search-input\" placeholder=\"搜索\" (input)=\"conditionSelectSearch($event)\"/>\r\n                  </div>\r\n                </div>\r\n                <div class=\"list-options-wrapper\">\r\n                  <div class=\"automation-list-field-option\" *ngFor=\"let conditionSelect of filterConditionsSelect;\"\r\n                       (click)=\"handleFilterConditionSelectChange(conditionSelect, condition)\">\r\n                    <div style=\"flex: 1;\">\r\n                      {{conditionSelect['title']}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n          <div *ngIf=\"condition['field']\" style=\"margin-right: 8px;\">\r\n            <div style=\"background: rgb(255, 255, 255); color: rgb(0, 0, 0); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                 nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"operatorContent\"\r\n                 nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['operatorVisible']\"\r\n                 nzPopoverPlacement=\"bottomLeft\"\r\n            >\r\n              <div class=\"ds-text-component\">\r\n                <span>{{condition['operator']?.title}}</span>\r\n              </div>\r\n              <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n            </div>\r\n            <ng-template #operatorContent>\r\n              <div class=\"automation-list-field-component\">\r\n                <div class=\"list-options-wrapper\">\r\n                  <div *ngFor=\"let operator of condition['operators']\" class=\"automation-list-field-option\"\r\n                       [ngClass]=\"condition['operator'] && (condition['operator']['operator'] === operator['operator']) ? 'selected' : ''\"\r\n                       (click)=\"handleConditionOperatorChange(condition, operator)\">\r\n                    <div style=\"flex: 1;\">\r\n                      {{operator.title}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n          <div *ngIf=\"condition['field']\" style=\"margin-right: 8px; max-width: 300px;\">\r\n            <div style=\"background: rgb(255, 255, 255); color: rgb(0, 154, 255); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                 nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"operatorContent\"\r\n                 nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['valueVisible']\"\r\n                 nzPopoverPlacement=\"bottomLeft\" [ngClass]=\"condition['value'] ? 'condition-value':''\"\r\n            >\r\n              <div class=\"ds-text-component\">\r\n                <span>\r\n                  <ng-container *ngIf=\"condition['valueConfig']\">\r\n                    <ng-container *ngIf=\"condition['valueConfig']['type'] === 'text'\">\r\n                      {{condition['value'] ? condition['value']: '添加值'}}\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"condition['valueConfig']['type'] === 'select'\">\r\n                      {{condition['valueText'] ? condition['valueText']: '添加值'}}\r\n                    </ng-container>\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"!condition['valueConfig']\">\r\n                    添加值\r\n                  </ng-container>\r\n                </span>\r\n              </div>\r\n              <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n            </div>\r\n            <ng-template #operatorContent>\r\n              <ng-container *ngIf=\"condition['valueConfig']\">\r\n                <div *ngIf=\"condition['valueConfig']['type'] === 'text'\" class=\"automation-text-field-component\">\r\n                  <div class=\"text-input-wrapper\">\r\n                    <textarea class=\"text-input-field\" [(ngModel)]=\"condition['value']\" (ngModelChange)=\"handleConditionDataChange()\" placeholder=\"{{condition['valueConfig']['placeholder']}}\"></textarea>\r\n                  </div>\r\n                </div>\r\n                <div *ngIf=\"condition['valueConfig']['type'] === 'select'\" class=\"automation-list-field-component\">\r\n                  <div class=\"list-options-wrapper\">\r\n                    <div *ngFor=\"let option of condition['valueConfig']['option']\" class=\"automation-list-field-option\"\r\n                         [ngClass]=\"condition['value'] === option['id'] ? 'selected' : ''\"\r\n                         (click)=\"handleConditionValueChange(condition, option)\">\r\n                      <div style=\"flex: 1;\">\r\n                        {{option.title}}\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n            </ng-template>\r\n          </div>\r\n          <div *ngIf=\"i !== (filterConditions.length - 1) && (!condition['field'] || (condition['field'] && condition['value']))\" class=\"condition-indicator\">\r\n            And\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div style=\"display: flex; align-items: center; justify-content: center;\">\r\n        <a class=\"remove-condition-link\" (click)=\"deleteFilterCondition(i)\"><i nz-icon nzType=\"close\" nzTheme=\"outline\"></i></a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div style=\"margin-top: 16px; \">\r\n    <a (click)=\"addFilterCondition()\">+ 添加条件</a>\r\n  </div>\r\n</div>\r\n","styles":[".condition-component-warpper{position:relative}.condition-component-header{font-size:14px;font-weight:600;margin-bottom:10px}.condition-component-footer{color:#2196f3;cursor:pointer;margin-top:10px}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.condition-indicator{background:#f5f6f8;border-radius:4px;color:#c5c7d0;font-size:16px;line-height:32px;text-align:center;width:60px}.condition-field-text{border:1px solid;border-radius:4px;cursor:pointer;display:flex;font-size:14px;min-height:32px;padding:4px 8px}.automation-list-field-component{display:flex;flex-direction:column;max-height:180px;max-width:250px;min-width:250px;outline:none}.automation-list-field-component .list-options-wrapper{flex:1;min-height:0;outline:none;overflow:auto}.automation-list-field-component .list-options-wrapper .automation-list-field-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-weight:300;margin-bottom:2px;padding:8px;width:100%}.automation-list-field-component .list-options-wrapper .automation-list-field-option:hover{background:#009aff;color:#fff}.automation-list-field-component .list-options-wrapper .automation-list-field-option.selected{background:rgba(0,154,255,.2);color:#009aff;font-weight:400}.automation-list-field-component .list-search-input{border:1px solid #c4c4c4;border-radius:2px;height:32px;outline:none;padding-left:8px;width:100%}.automation-list-field-component .list-search-input:focus{border:1px solid #009aff}.automation-text-field-component{display:flex;flex-direction:column;height:120px;width:280px}.automation-text-field-component .text-input-wrapper{flex:1 1;min-height:0;position:relative}.automation-text-field-component .text-input-wrapper .text-input-field{border:none;font-size:14px;height:calc(100% - 30px);outline:none;resize:none;width:100%}.condition-value,.have-value{color:#000!important}.ds-text-description{font-size:12px;margin-left:16px;margin-right:8px}.remove-condition-link{color:#a1a1a1;cursor:pointer;font-size:12px;margin-left:8px;text-decoration:none}.remove-condition-link:hover{color:#000}"]}]}],"members":{"setNfData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["nfData"]}]}],"optionsData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"addFilterCondition":[{"__symbolic":"method"}],"deleteFilterCondition":[{"__symbolic":"method"}],"conditionSelectSearch":[{"__symbolic":"method"}],"handleFilterConditionSelectChange":[{"__symbolic":"method"}],"handleConditionOperatorChange":[{"__symbolic":"method"}],"handleConditionValueChange":[{"__symbolic":"method"}],"handleConditionDataChange":[{"__symbolic":"method"}]}},"ɵbf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nf-field-condition","template":"<div class=\"condition-container\" style=\"padding: 8px; min-width: 480px;\">\r\n  <div style=\"display: flex; margin-bottom: 16px; align-items: flex-end;\">\r\n    <div style=\"margin-right: 8px; font-size: 18px; font-weight: 400;\">\r\n      条件\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"filterConditions.length > 0\">\r\n    <div style=\"display: flex; margin-bottom: 16px;\" *ngFor=\"let condition of filterConditions; let i = index;\">\r\n      <div style=\"min-width: 0; flex: 1;\">\r\n        <div style=\"height: 100%; display: flex;\">\r\n          <div style=\"margin-right: 8px; max-width: 500px;\">\r\n            <div style=\"background: rgb(255,255,255); color: rgb(0, 154, 255); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                 [ngClass]=\"condition['title']? 'condition-value': ''\"\r\n                 nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"conditionContent\"\r\n                 nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['visible']\"\r\n                 nzPopoverPlacement=\"bottomLeft\"\r\n            >\r\n              <div class=\"ds-text-component\">\r\n                <span>{{condition['title'] ? condition['title']: '任意条件'}}</span>\r\n              </div>\r\n              <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n            </div>\r\n            <ng-template #conditionContent>\r\n              <div class=\"automation-list-field-component\">\r\n                <div class=\"list-options-wrapper\">\r\n                  <div class=\"automation-list-field-option\"\r\n                       *ngFor=\"let column of conditionColumns;\"\r\n                       (click)=\"handleFilterConditionSelectChange(column, condition)\">\r\n                    <div style=\"flex: 1;\">\r\n                      {{column['title']}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n          <div *ngIf=\"condition['field']\" style=\"margin-right: 8px;\">\r\n            <div style=\"background: rgb(255, 255, 255); color: rgb(0, 0, 0); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                 nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"operatorContent\"\r\n                 nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['operatorVisible']\"\r\n                 nzPopoverPlacement=\"bottomLeft\"\r\n            >\r\n              <div class=\"ds-text-component\">\r\n                <span>{{condition['operator']?.title}}</span>\r\n              </div>\r\n              <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n            </div>\r\n            <ng-template #operatorContent>\r\n              <div class=\"automation-list-field-component\">\r\n                <div class=\"list-options-wrapper\">\r\n                  <div *ngFor=\"let operator of condition['operators']\" class=\"automation-list-field-option\"\r\n                       [ngClass]=\"condition['operator'] && (condition['operator']['operator'] === operator['operator']) ? 'selected' : ''\"\r\n                       (click)=\"handleConditionOperatorChange(condition, operator)\">\r\n                    <div style=\"flex: 1;\">\r\n                      {{operator.title}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n          <div *ngIf=\"condition['field']\" style=\"margin-right: 8px; max-width: 300px;\">\r\n            <div style=\"background: rgb(255, 255, 255); color: rgb(0, 154, 255); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                 nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"operatorContent\"\r\n                 nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['valueVisible']\"\r\n                 nzPopoverPlacement=\"bottomLeft\" [ngClass]=\"condition['value'] ? 'condition-value':''\"\r\n            >\r\n              <div class=\"ds-text-component\">\r\n                  <span>\r\n                    <ng-container *ngIf=\"condition['value']\">\r\n                       <ng-container [ngSwitch]=\"condition.type\">\r\n                         <ng-container *ngSwitchCase=\"'status'\">\r\n                           {{condition['valueText']}}\r\n                         </ng-container>\r\n                         <ng-container *ngSwitchCase=\"'taskProgress'\">\r\n                           {{condition['valueText']}}\r\n                         </ng-container>\r\n                         <ng-container *ngSwitchCase=\"'indicator'\">\r\n                           <ng-container *ngFor=\"let o of indicatorOption\">\r\n                            <ng-container *ngIf=\"o.id === condition['value']\">\r\n                              {{o.title}}\r\n                            </ng-container>\r\n                          </ng-container>\r\n                         </ng-container>\r\n                         <ng-container *ngSwitchCase=\"'dateCondition'\">\r\n                           <span *ngIf=\"condition['value']['days'] || condition['value']['time']\">\r\n                             T+{{condition['value']['days']}}个工作日的{{condition['value']['time']}}\r\n                           </span>\r\n                         </ng-container>\r\n                         <ng-container *ngSwitchDefault>\r\n                           {{condition['value']}}\r\n                         </ng-container>\r\n                       </ng-container>\r\n                      <ng-container *ngIf=\"condition.type == 'status'\">\r\n                        {{condition['valueText']}}\r\n                      </ng-container>\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"!condition['value']\">\r\n                      添加值\r\n                    </ng-container>\r\n                  </span>\r\n              </div>\r\n              <span class=\"ds-text-description\" *ngIf=\"!condition['value']\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n            </div>\r\n            <ng-template #operatorContent>\r\n              <div *ngIf=\"condition['type'] == 'name' || condition['type'] == 'text'\" class=\"automation-text-field-component\">\r\n                <div class=\"text-input-wrapper\">\r\n                  <textarea class=\"text-input-field\" [(ngModel)]=\"condition['value']\"></textarea>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"condition['type'] == 'date'\" class=\"automation-text-field-component\" style=\"height: 40px;\">\r\n                <div class=\"text-input-wrapper\">\r\n                  <nz-date-picker [(ngModel)]=\"condition['value']\" (ngModelChange)=\"dateChange(condition)\" nzFormat=\"yyyy-MM-dd\" style=\"width: 100%;\"></nz-date-picker>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"condition['type'] == 'status'\" class=\"automation-list-field-component\">\r\n                <div class=\"list-options-wrapper\">\r\n                  <div *ngFor=\"let option of condition['valueConfig']\" class=\"automation-list-field-option\"\r\n                       [ngClass]=\"condition['value'] == option['index'] ? 'selected' : ''\"\r\n                       (click)=\"handleConditionValueChange(condition, option)\">\r\n                    <div style=\"flex: 1;\">\r\n                      {{option.label}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"condition['type'] == 'taskProgress'\" class=\"automation-list-field-component\">\r\n                <div class=\"list-options-wrapper\">\r\n                  <div *ngFor=\"let option of condition['valueConfig']\" class=\"automation-list-field-option\"\r\n                       [ngClass]=\"condition['value'] == option['index'] ? 'selected' : ''\"\r\n                       (click)=\"handleConditionValueChange(condition, option)\">\r\n                    <div style=\"flex: 1;\">\r\n                      {{option.label}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"condition['type'] == 'indicator'\" class=\"automation-text-field-component\" style=\"height: 40px;\">\r\n                <div class=\"text-input-wrapper\">\r\n                  <nz-select style=\"width: 100%\" [(ngModel)]=\"condition['value']\" nzAllowClear nzPlaceHolder=\"请选择\">\r\n                    <nz-option *ngFor=\"let o of indicatorOption\" [nzValue]=\"o.id\" [nzLabel]=\"o.title\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n              </div>\r\n              <div *ngIf=\"condition['type'] == 'dateCondition'\" class=\"automation-text-field-component\" style=\"height: 40px;\">\r\n                <div class=\"text-input-wrapper\">\r\n                  T+<nz-input-number style=\"width:60px !important;\" [(ngModel)]=\"condition['value']['days']\" [nzMin]=\"0\" [nzMax]=\"10\" [nzStep]=\"1\"></nz-input-number>个工作日的\r\n                  <nz-time-picker style=\"width:100px\" [(ngModel)]=\"condition['value']['time']\" [nzFormat]=\"'HH:mm'\" (ngModelChange)=\"onDateChange(condition)\"></nz-time-picker>\r\n<!--                  <nz-date-picker [(ngModel)]=\"condition['value']\" (ngModelChange)=\"onDateChange(condition)\" nzShowTime [nzFormat]=\"'yyyy-MM-dd HH:mm'\"></nz-date-picker>-->\r\n                </div>\r\n              </div>\r\n            </ng-template>\r\n          </div>\r\n          <div *ngIf=\"i !== (filterConditions.length - 1) && (!condition['field'] || (condition['field'] && condition['value']))\" class=\"condition-indicator\">\r\n            And\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div style=\"display: flex; align-items: center; justify-content: center;\">\r\n        <a class=\"remove-condition-link\" (click)=\"deleteFilterCondition(i)\"><i nz-icon nzType=\"close\" nzTheme=\"outline\"></i></a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div style=\"margin-top: 16px; \">\r\n    <a (click)=\"addFilterCondition()\">+ 添加条件</a>\r\n  </div>\r\n</div>\r\n","styles":[".condition-component-warpper{position:relative}.condition-component-header{font-size:14px;font-weight:600;margin-bottom:10px}.condition-component-footer{color:#2196f3;cursor:pointer;margin-top:10px}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.condition-indicator{background:#f5f6f8;border-radius:4px;color:#c5c7d0;font-size:16px;line-height:32px;text-align:center;width:60px}.condition-field-text{border:1px solid;border-radius:4px;cursor:pointer;display:flex;font-size:14px;min-height:32px;padding:4px 8px}.automation-list-field-component{display:flex;flex-direction:column;max-height:180px;max-width:250px;min-width:250px;outline:none}.automation-list-field-component .list-options-wrapper{flex:1;min-height:0;outline:none;overflow:auto}.automation-list-field-component .list-options-wrapper .automation-list-field-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-weight:300;margin-bottom:2px;padding:8px;width:100%}.automation-list-field-component .list-options-wrapper .automation-list-field-option:hover{background:#009aff;color:#fff}.automation-list-field-component .list-options-wrapper .automation-list-field-option.selected{background:rgba(0,154,255,.2);color:#009aff;font-weight:400}.automation-list-field-component .list-search-input{border:1px solid #c4c4c4;border-radius:2px;height:32px;outline:none;padding-left:8px;width:100%}.automation-list-field-component .list-search-input:focus{border:1px solid #009aff}.automation-text-field-component{display:flex;flex-direction:column;height:120px;width:280px}.automation-text-field-component .text-input-wrapper{flex:1 1;min-height:0;position:relative}.automation-text-field-component .text-input-wrapper .text-input-field{border:none;font-size:14px;height:calc(100% - 30px);outline:none;resize:none;width:100%}.condition-value,.have-value{color:#000!important}.ds-text-description{font-size:12px;margin-left:16px;margin-right:8px}.remove-condition-link{color:#a1a1a1;cursor:pointer;font-size:12px;margin-left:8px;text-decoration:none}.remove-condition-link:hover{color:#000}"]}]}],"members":{"setNfData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3},"arguments":["nfData"]}]}],"optionsData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"automationChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3},"arguments":["automation"]}]}],"supervisoryIdChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3},"arguments":["supervisoryId"]}]}],"setColumn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3},"arguments":["column"]}]}],"sourceChagne":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3},"arguments":["source"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":88,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":90,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":91,"character":21},{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleFilterConditionSelectChange":[{"__symbolic":"method"}],"handleConditionOperatorChange":[{"__symbolic":"method"}],"dateChange":[{"__symbolic":"method"}],"handleConditionValueChange":[{"__symbolic":"method"}],"deleteFilterCondition":[{"__symbolic":"method"}],"addFilterCondition":[{"__symbolic":"method"}],"randomString":[{"__symbolic":"method"}],"getIndicatorRulesData":[{"__symbolic":"method"}],"onDateChange":[{"__symbolic":"method"}]}},"ɵbg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-status-archive","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\">当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnConditionVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnConditionData}\">{{columnConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择列</div>\r\n                        <ng-container *ngFor=\"let item of columnConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnConditionData}\" (click)=\"columnConditionChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusConditionVisible\"  [nzPopoverContent]=\"statusConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': statusConditionData != null}\">{{statusConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                        <ng-container *ngIf=\"columnConditionData\">\r\n                          <ng-container *ngFor=\"let item of statusConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.index == statusConditionData}\" (click)=\"statusConditionChange(item)\">\r\n                              <div class=\"column-title\">\r\n                                <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                                {{item.label ? item.label : '默认'}}\r\n                              </div>\r\n                            </div>\r\n                        </ng-container>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!columnConditionData\">\r\n                         <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" style=\"margin-left:10px\"></i> 请先选择列\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，归档这个任务</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"initSelectData":[{"__symbolic":"method"}],"columnConditionChange":[{"__symbolic":"method"}],"statusConditionChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbk"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nf-date-time","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵbi"},"arguments":[{"__symbolic":"reference","name":"ɵbh"}]},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":9,"character":47}],"template":"<nz-date-picker [nzDisabled]=\"disabled\" style=\"width: 100%; min-height: 32px;\" [nzShowTime]=\"{nzFormat: 'HH:mm'}\"\r\n                [(ngModel)]=\"dateTime\" (ngModelChange)=\"commitData()\" nzFormat=\"yyyy-MM-dd HH:mm\"></nz-date-picker>\r\n<ng-template #footer>\r\n  <div style=\"display: flex;\">\r\n    <div style=\"margin-left: 5px; padding-top: 2px;\">\r\n      <nz-time-picker [(ngModel)]=\"dateTime\" [disabled]=\"disabled\" nzFormat=\"HH:mm\"></nz-time-picker>\r\n    </div>\r\n    <div style=\"position:absolute; right: 10px; padding-top: 2px;\">\r\n      <button style=\"margin-right: 5px;\" nz-button [disabled]=\"disabled\" (click)=\"closePop()\" nzSize=\"small\" nzType=\"primary\">取消</button>\r\n      <button nz-button [disabled]=\"disabled\" (click)=\"commitData()\" nzSize=\"small\" nzType=\"primary\">确定</button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","styles":[""]}]}],"members":{"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":19,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"closePop":[{"__symbolic":"method"}],"commitData":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}},"ɵbi":{"__symbolic":"function","parameters":["type"],"value":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":4,"character":20},"useExisting":{"__symbolic":"reference","name":"type"},"multi":true}},"ɵbj":{"__symbolic":"class","members":{"innerValidate":[{"__symbolic":"method"}]}},"ɵbk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵbj"},"members":{"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}},"ɵbl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-select","providers":[{"__symbolic":"reference","module":"@angular/common","name":"DecimalPipe","line":10,"character":14}],"template":"<div *ngIf=\"!isDisabled\" style=\"width: 100%; height: 100%; min-height: 32px; cursor: pointer; padding: 5px 0;\" nz-popover [nzPopoverVisible]=\"popVisible\" (nzPopoverVisibleChange)=\"closePop($event)\"\r\n       nzPopoverTrigger=\"click\" [nzPopoverContent]=\"selectPop\" nzPopoverPlacement=\"bottomRight\" (click)=\"openPop()\">\r\n  <div class=\"nf-select\">\r\n    <ng-container *ngTemplateOutlet=\"selectValueDisplay\"></ng-container>\r\n  </div>\r\n</div>\r\n<div style=\"width: 100%; height: 100%; padding: 5px 0;\" *ngIf=\"isDisabled\">\r\n  <div class=\"nf-select-disabled\">\r\n    <ng-container *ngTemplateOutlet=\"selectValueDisplay\"></ng-container>\r\n  </div>\r\n</div>\r\n\r\n<!-- pop弹框 -->\r\n<ng-template #selectPop>\r\n  <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\">\r\n    <input type=\"text\" [(ngModel)]=\"selectInputValue\" nz-input placeholder=\"+ 新增选项\" (keydown.enter)=\"addNewOption()\"/>\r\n  </nz-input-group>\r\n  <ng-template #suffixIconButton>\r\n    <button nz-button nzType=\"primary\" nzSearch (click)=\"addNewOption()\">确定</button>\r\n  </ng-template>\r\n  <ng-container *ngIf=\"column && column.config && column.config.option\">\r\n    <ng-container *ngIf=\"!editable\">\r\n      <ul class=\"nf-select-menu\" style=\"margin-top: 10px;\">\r\n        <li class=\"nf-select-item\" *ngFor=\"let option of column['config']['option']\" (click)=\"optionSelected(option)\">{{option.title}}</li>\r\n      </ul>\r\n      <div *ngIf=\"column['config']['option'] && column['config']['option'].length > 0\" style=\"text-align: center;\">\r\n        <button nz-button (click)=\"editOption()\" style=\"width: 90%; margin: 5px;\">编辑</button>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"editable\">\r\n      <ul class=\"nf-select-menu\" style=\"margin-top: 10px; max-height: 200px; overflow: auto;\">\r\n        <li class=\"nf-select-menu-li\" *ngFor=\"let option of column['config']['option']; let i = index;\">\r\n          <input nz-input [(ngModel)]=\"option.title\" style=\"width: 90%; border-style: dashed;\"/>\r\n          <ng-container *ngIf=\"selectedValue.includes(option.id)\">\r\n            <span style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"选项已经使用，无法删除\"><i nz-icon [nzIconfont]=\"'icon-shibai'\"></i></span>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"!selectedValue.includes(option.id)\">\r\n            <span><i nz-icon [nzIconfont]=\"'icon-shibai'\" (click)=\"deleteOption(i)\"></i></span>\r\n          </ng-container>\r\n        </li>\r\n      </ul>\r\n      <div style=\"padding: 5px; text-align: center;\">\r\n        <button nz-button (click)=\"submitEdition()\" nzType=\"primary\" style=\"width: 40%;margin-right:5px\">提交</button>\r\n        <button nz-button (click)=\"editCancel()\" style=\"width: 40%;\">取消</button>\r\n      </div>\r\n    </ng-container>\r\n  </ng-container>\r\n</ng-template>\r\n\r\n<!-- select组件值展示 -->\r\n<ng-template #selectValueDisplay>\r\n  <ng-container *ngIf=\"column && column.config && column.config.option\">\r\n    <ng-container *ngFor=\"let option of column['config']['option']\">\r\n      <ng-container *ngIf=\"option.id == pulse['columnValues'][column.id]['option']\">\r\n        {{option.title}}\r\n      </ng-container>\r\n    </ng-container>\r\n  </ng-container>\r\n</ng-template>\r\n","styles":[".nf-select{height:100%;line-height:24px;width:100%}.nf-select-disabled{height:100%;line-height:24px;width:100%}.nf-select-menu{list-style:none;margin-bottom:0;max-height:250px;outline:0;overflow:auto;padding-left:0}.nf-select-menu-li{margin-bottom:3px}.nf-select-menu-li span{color:rgba(0,0,0,.4);font-size:16px;margin-left:5px}.nf-select-item{border-radius:4px;color:rgba(0,0,0,.65);cursor:pointer;display:block;font-weight:400;line-height:22px;overflow:hidden;padding:5px 12px;position:relative;text-overflow:ellipsis;transition:background .3s ease;white-space:nowrap}.nf-select-item:hover{background-color:#2196f3;color:#fff}"]}]}],"members":{"isDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3},"arguments":["nfPulseData"]}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":49,"character":21},{"__symbolic":"reference","module":"@angular/common","name":"DecimalPipe","line":50,"character":25}]}],"ngOnInit":[{"__symbolic":"method"}],"openPop":[{"__symbolic":"method"}],"closePop":[{"__symbolic":"method"}],"addNewOption":[{"__symbolic":"method"}],"checkExist":[{"__symbolic":"method"}],"getOptionId":[{"__symbolic":"method"}],"optionSelected":[{"__symbolic":"method"}],"editOption":[{"__symbolic":"method"}],"deleteOption":[{"__symbolic":"method"}],"submitEdition":[{"__symbolic":"method"}],"editCancel":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵbm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"nf-notification","template":"<div style=\"width: 500px; padding: 10px;\">\r\n  <div style=\"padding-bottom: 10px;\">\r\n    <div class=\"display-area\">\r\n      <div class=\"display-title\">\r\n        <b>通知方式：</b>\r\n      </div>\r\n      <div class=\"display-content\">\r\n        <nz-radio-group [(ngModel)]=\"notificationType\" (ngModelChange)=\"notificationTypeChange()\">\r\n          <label nz-radio nzValue=\"email\">邮件</label>\r\n          <label nz-radio nzValue=\"siteMessage\">站内信</label>\r\n          <label nz-radio nzValue=\"sms\">短信</label>\r\n        </nz-radio-group>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <ng-container *ngIf=\"notificationType === 'email'\">\r\n    <div style=\"padding-bottom: 10px;\">\r\n      <div class=\"display-area\">\r\n        <div class=\"display-title\">\r\n          <b>抄送：</b>\r\n        </div>\r\n        <div class=\"display-content\">\r\n          <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"right\" [nzPopoverContent]=\"receiverTemplate\">\r\n            <div class=\"ds-text-component\">\r\n              <span [ngClass]=\"cc['type'] && cc['value'] && cc['value'].length > 0 ? 'selected':''\">用户</span>\r\n            </div>\r\n            <ng-template #receiverTemplate>\r\n              <nf-user [boardData]=\"boardData\" [userData]=\"cc\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n            </ng-template>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"notificationType == 'email' || notificationType == 'siteMessage'\">\r\n    <div style=\"padding-bottom: 10px;\">\r\n      <input nz-input [(ngModel)]=\"subject\" autocomplete=\"off\" (ngModelChange)=\"inputValueChange()\"\r\n             (focus)=\"focusOnTarget('subject')\"\r\n             (keydown)=\"getInputIndex($event.target)\"\r\n             (click)=\"getInputIndex($event.target)\" [placeholder]=\"subjectPlaceholder\"/>\r\n    </div>\r\n    <div>\r\n      <textarea rows=\"4\" nz-input [(ngModel)]=\"body\" (ngModelChange)=\"inputValueChange()\"\r\n                (focus)=\"focusOnTarget('body')\"\r\n                (keydown)=\"getInputIndex($event.target)\"\r\n                (click)=\"getInputIndex($event.target)\" [placeholder]=\"bodyPlaceholder\"></textarea>\r\n    </div>\r\n    <ng-container *ngIf=\"updateEnable\">\r\n      <div style=\"padding-top: 5px;\">\r\n        <label>嵌入更新中的内容：</label>\r\n        <nz-tag (click)=\"updateClick()\">更新</nz-tag>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"columnEnable\">\r\n      <div style=\"padding-top: 5px;\">\r\n        <label>嵌入面板列：</label>\r\n      </div>\r\n      <div style=\"margin-top: 10px;\" class=\"height-64-overflow\">\r\n        <nz-tag style=\"margin-bottom: 10px;\" *ngFor=\"let column of boardColumnData\"\r\n                (click)=\"columnTagClick(column)\">{{column.title}}</nz-tag>\r\n      </div>\r\n    </ng-container>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"notificationType === 'sms'\">\r\n    <ng-container *ngIf=\"smsPattern === 'custom'\">\r\n      <div>\r\n        <textarea rows=\"4\" nz-input [(ngModel)]=\"body\" (ngModelChange)=\"inputValueChange()\"\r\n                  (focus)=\"focusOnTarget('body')\"\r\n                  (keydown)=\"getInputIndex($event.target)\"\r\n                  (click)=\"getInputIndex($event.target)\"\r\n                  [placeholder]=\"bodyPlaceholder\"></textarea>\r\n      </div>\r\n      <ng-container *ngIf=\"columnEnable\">\r\n        <div style=\"padding-top: 5px;\">\r\n          <label>嵌入面板列：</label>\r\n        </div>\r\n        <div style=\"margin-top: 10px;\" class=\"height-64-overflow\">\r\n          <nz-tag style=\"margin-bottom: 10px;\" *ngFor=\"let column of boardColumnData\"\r\n                  (click)=\"columnTagClick(column)\">{{column.title}}</nz-tag>\r\n        </div>\r\n      </ng-container>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"smsPattern === 'template'\">\r\n      <div class=\"display-area\">\r\n        <div class=\"display-title\">\r\n          <b>模板编码：</b>\r\n        </div>\r\n        <div class=\"display-content\">\r\n          <nz-select style=\"width: 100%;\" nzShowSearch [(ngModel)]=\"smsTemplate\" (ngModelChange)=\"smsTemplateChange()\">\r\n            <nz-option *ngFor=\"let template of smsTemplateList\" [nzLabel]=\"template.name\"\r\n                       [nzValue]=\"template\"></nz-option>\r\n          </nz-select>\r\n        </div>\r\n      </div>\r\n      <div class=\"display-area\">\r\n        <div class=\"display-title\">\r\n          <b>模板说明：</b>\r\n        </div>\r\n        <div class=\"display-content height-64-overflow\">\r\n          <label>{{smsTemplate?.content?.description}}</label>\r\n        </div>\r\n      </div>\r\n      <div class=\"display-area\">\r\n        <div class=\"display-title\">\r\n          <b>模板编码：</b>\r\n        </div>\r\n        <div class=\"display-content\">\r\n          <b>模板值</b>\r\n        </div>\r\n      </div>\r\n      <ng-container *ngIf=\"smsTemplate && smsTemplate.content\">\r\n        <div class=\"height-80-overflow\">\r\n          <div class=\"display-area\" *ngFor=\"let param of smsTemplate.content.params; let i = index;\">\r\n            <div class=\"display-title\">\r\n              <label>{{param.code}}</label>\r\n            </div>\r\n            <div class=\"display-content\">\r\n              <input style=\"width: 100%;\" nz-input [(ngModel)]=\"params[i]\" (ngModelChange)=\"inputValueChange()\"\r\n                     (focus)=\"focusOnTarget(i)\" (click)=\"getInputIndex($event.target)\"\r\n                     (keydown)=\"getInputIndex($event.target)\"/>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"updateEnable\">\r\n        <div style=\"padding-top: 5px;\">\r\n          <label>嵌入更新中的内容：</label>\r\n          <nz-tag (click)=\"updateClick()\">更新</nz-tag>\r\n        </div>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"columnEnable\">\r\n        <div style=\"padding-top: 5px;\">\r\n          <label>嵌入面板列：</label>\r\n        </div>\r\n        <div class=\"height-64-overflow\" style=\"margin-top: 10px;\">\r\n          <nz-tag style=\"margin-bottom: 10px;\" *ngFor=\"let column of boardColumnData\"\r\n                  (click)=\"columnTagClick(column)\">{{column.title}}</nz-tag>\r\n        </div>\r\n      </ng-container>\r\n    </ng-container>\r\n  </ng-container>\r\n  <div style=\"padding: 5px; text-align: right;\">\r\n    <button nz-button [nzType]=\"'primary'\" (click)=\"submitData()\">确定</button>\r\n  </div>\r\n</div>\r\n","styles":[".display-area{display:flex}.display-title{line-height:32px;width:25%}.display-content{line-height:32px;width:75%}.height-80-overflow{max-height:80px;overflow-y:auto}.height-64-overflow{max-height:64px;overflow-y:auto}.field-text{color:rgba(0,0,0,.5);max-width:350px;position:relative;transition:color .1s ease;width:50px}.field-text:hover{color:#1e90ff}.field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}"]}]}],"members":{"smsPattern":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"columnEnable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"updateEnable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"boardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"boardColumnDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3},"arguments":["boardColumnData"]}]}],"templateListDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3},"arguments":["smsTemplateList"]}]}],"componentDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":84,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"initLabels":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"notificationTypeChange":[{"__symbolic":"method"}],"getInputIndex":[{"__symbolic":"method"}],"focusOnTarget":[{"__symbolic":"method"}],"inputValueChange":[{"__symbolic":"method"}],"handleLabelChange":[{"__symbolic":"method"}],"smsTemplateChange":[{"__symbolic":"method"}],"updateClick":[{"__symbolic":"method"}],"columnTagClick":[{"__symbolic":"method"}],"insertLabel":[{"__symbolic":"method"}],"assembleStr":[{"__symbolic":"method"}],"submitData":[{"__symbolic":"method"}]}},"ɵbn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-status-timer-email","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，</span>\r\n                <span class=\"automations-editor-text-term-component\">在 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"datePopVisible\" [nzPopoverContent]=\"dateTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.dueDateColumn}\">{{dateDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #dateTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择日期列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of dateColumnList\" [ngClass]=\"automation.dueDateColumn==item.id ? 'selected': ''\" (click)=\"dateSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor partition\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"whenConditionPopVisible\" [nzPopoverContent]=\"whenComponentTemplate\">\r\n                    <div class=\"ds-text-component\" nz-tooltip nzTooltipTitle=\"{{whenComponentDisplayText}}\">\r\n                      <span [ngClass]=\"{'selected': whenComponentData}\">{{whenComponentDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #whenComponentTemplate>\r\n                      <nf-when-part [nfData]=\"whenComponentData\" (nfDataChange)=\"getWhenComponentData($event)\" (closePop)=\"closeWhenPop()\"></nf-when-part>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">，且 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span>&nbsp;</span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"conditionPopVisible\" [nzPopoverContent]=\"conditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.isCondition && automation.isCondition.value}\">{{conditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #conditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of conditionList\"\r\n                             [ngClass]=\"automation.isCondition.value==item.value ? 'selected': ''\" (click)=\"conditionSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item?.title}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span>&nbsp;</span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.index != null}\">{{columnValueDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.index==item.index ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 ，发 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                    </div>\r\n                    <ng-template #mailTemplate>\r\n                      <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                       [smsTemplateList]=\"smsTemplateList\"\r\n                                       (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                    </div>\r\n                    <ng-template #receiverTemplate>\r\n                      <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":82,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"dateSelectChange":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"conditionSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getWhenComponentData":[{"__symbolic":"method"}],"closeWhenPop":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-timer-notification","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" (nfDataChange)=\"getSchedulerData($event)\" [dateTypeEnable]=\"true\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 发 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                    </div>\r\n                    <ng-template #mailTemplate>\r\n                      <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                       [smsTemplateList]=\"smsTemplateList\" [columnEnable]=\"false\"\r\n                                       (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                    </div>\r\n                    <ng-template #receiverTemplate>\r\n                      <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-infobox","providers":[{"__symbolic":"reference","name":"TaskService"}],"animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":12,"character":4},"arguments":["animation",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":13,"character":6},"arguments":["open",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":13,"character":20},"arguments":[{"display":"block"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":14,"character":6},"arguments":["close",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":14,"character":21},"arguments":[{"display":"none"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":15,"character":6},"arguments":["open => close",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":15,"character":34},"arguments":["150ms",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":15,"character":51},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":16,"character":8},"arguments":[{"height":"*"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":17,"character":8},"arguments":[{"height":"0"}]}]]}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":19,"character":6},"arguments":["close => open",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":19,"character":34},"arguments":["150ms",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"keyframes","line":19,"character":51},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":20,"character":8},"arguments":[{"height":"100px"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":21,"character":8},"arguments":[{"height":"*"}]}]]}]}]}]]}],"template":"<div class=\"collaboration_zone_wrapper\">\r\n  <ul class=\"collaboration_zone_menu list-inline\">\r\n    <li (click)=\"addNote('rich_text')\" style=\"text-align: left;padding-left:15px\">\r\n      <i class=\"collaboration_zone_menu_icon\" style=\"font-size:18px;\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i> 添加便签\r\n    </li>\r\n    <!--<li>-->\r\n      <!--<i class=\"collaboration_zone_menu_icon\" nz-icon nzType=\"paper-clip\" nzTheme=\"outline\"></i> 添加文件-->\r\n    <!--</li>-->\r\n    <!--<li>-->\r\n      <!--<i class=\"collaboration_zone_menu_icon\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i> 添加问答-->\r\n    <!--</li>-->\r\n  </ul>\r\n  <div class=\"collaboration_zone_panel\">\r\n    <div class=\"collaboration_text_box collaboration_box\" *ngFor=\"let item of infoBoxListData\">\r\n      <div class=\"title_wrapper\" (click)=\"changeCollapse(item.id)\">\r\n        <span><i class=\"collaboration_zone_menu_icon\" nz-icon nzType=\"profile\" nzTheme=\"outline\"></i></span>\r\n        <span class=\"title\">\r\n          <input [disabled]=\"!item.isEdit\" (click)=\"inputState($event)\" [nzSize]=\"'small'\" style=\"width:40%\" nz-input [(ngModel)]=\"item.title\" />\r\n        </span>\r\n        <!--<i (click)=\"editTile($event)\" class=\"editable-icon\" nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>-->\r\n        <span class=\"minimize_btn\"><i class=\"collapse-icon\" [ngClass]=\"{'collapse-close': !item.active, 'collapse-open': item.active}\" nz-icon nzType=\"up-circle\" nzTheme=\"fill\"></i></span>\r\n        <div *ngIf=\"item.active\" class=\"title_underline\"></div>\r\n      </div>\r\n      <div class=\"body_wrapper\" [@animation]=\"item.active ? 'open' : 'close'\">\r\n        <div class=\"collaboration_box_body\">\r\n          <div class=\"editor_content body_text not_active\">\r\n            <div *ngIf=\"!item.isEdit\" class=\"edit-status-false\" [innerHTML]=\"item.data.content\"></div>\r\n            <div *ngIf=\"item.isEdit\" class=\"edit-status-true\">\r\n              <quill-editor\r\n                [(ngModel)]=\"item.data.content\"\r\n                placeholder=\"\"\r\n                (onEditorCreated)=\"created($event)\">\r\n              </quill-editor>\r\n              <div class=\"editor-footer\">\r\n                <div class=\"add-attachment\" (click)=\"addAttachment(item.id)\"><i nz-icon nzType=\"paper-clip\" nzTheme=\"outline\"></i> 添加附件</div>\r\n                <div class=\"syn-to-update\"><label nz-checkbox [(ngModel)]=\"synchronizeUpdates\">同步到更新中</label></div>\r\n                <button (click)=\"changeEditState(item.id, 'cancel')\" style=\"margin-right:10px\" nz-button nzType=\"default\">取消</button>\r\n                <button [nzLoading]=\"isLoading\" (click)=\"doSubmit('editContent', item)\" nz-button nzType=\"primary\">提交</button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <span *ngIf=\"!item.isEdit\" (click)=\"changeEditState(item.id, 'edit')\" class=\"edit-content-button\">编辑</span>\r\n        </div>\r\n        <div class=\"last_updated\">\r\n          <span class=\"last_updated_message\">\r\n            <span style=\"margin-right:5px;\">{{item.users.name}}</span> <span class=\"time_ago\" *ngIf=\"item.updatedAt\">{{item.updatedAt | longTimeAgo}}</span>更新\r\n          </span>\r\n          <div class=\"box_actions\">\r\n            <div class=\"share_with\">\r\n              <div class=\"permission_lock\">\r\n                <!--<i nz-icon nzType=\"lock\" nzTheme=\"outline\"></i>-->\r\n                <!--{{item.permissions}}-->\r\n              </div>\r\n            </div>\r\n            <div class=\"settings_btn_wrapper\">\r\n              <span nz-popconfirm nzPopconfirmTitle=\"确认删除?\" nzPopconfirmPlacement=\"top\" (nzOnConfirm)=\"deleteInfo(item.id)\"><i nz-icon nzType=\"delete\" nzTheme=\"outline\"></i> 删除</span>\r\n              <!--<i nz-dropdown nzTrigger=\"click\" [nzPlacement]=\"'topCenter'\" [nzDropdownMenu]=\"menu\" style=\"font-size:14px\" nz-icon nzType=\"setting\" nzTheme=\"outline\"></i>-->\r\n              <!--<nz-dropdown-menu #menu=\"nzDropdownMenu\">-->\r\n                <!--<ul nz-menu>-->\r\n                  <!--&lt;!&ndash;<li nz-menu-item><i nz-icon nzType=\"lock\" nzTheme=\"outline\"></i> 修改权限</li>&ndash;&gt;-->\r\n                  <!--<li nz-menu-item nz-popconfirm nzPopconfirmTitle=\"确认删除?\" nzPopconfirmPlacement=\"top\" (nzOnConfirm)=\"deleteInfo(item.id)\"><i nz-icon nzType=\"delete\" nzTheme=\"outline\"></i> 删除</li>-->\r\n                <!--</ul>-->\r\n              <!--</nz-dropdown-menu>-->\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"text-center page-list\">\r\n      <nz-pagination (nzPageIndexChange)=\"pageChange($event)\" [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" [nzPageSize]=\"pageSize\" [nzShowTotal]=\"totalTemplate\"></nz-pagination>\r\n    </div>\r\n    <ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>\r\n  </div>\r\n</div>\r\n<!-- 上传附件 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzMaskClosable]=\"false\" [nzWidth]=\"'30%'\" nzTitle=\"添加附件\" (nzOnCancel)=\"handleCancel()\" [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"null\">\r\n  <nz-upload *ngIf=\"isVisible\"\r\n             [nzAction]= \"uploadFileUrl\"\r\n             (nzChange)=\"uploadFile($event)\">\r\n    <button nz-button><i nz-icon nzType=\"upload\"></i><span>选择文件</span></button>\r\n  </nz-upload>\r\n</nz-modal>\r\n","styles":[".collaboration_zone_wrapper{font-weight:300;position:relative}.pulse_container #collaboration_area.open_menu .collaboration_zone_menu{border:none;margin-bottom:20px}.collaboration_zone_menu{background:#fff;border:1px solid transparent;font-size:13px;height:0;list-style:none;margin:0;overflow:hidden;padding:0;transition:height .1s ease-in-out;width:100%}.list-inline{list-style:none;margin-left:-5px;padding-left:0}.collaboration_zone_menu{height:45px;margin-top:-5px}.collaboration_zone_menu li{border-right:1px dashed #ccc;cursor:pointer;float:left;margin:10px 0;padding:5px 0;position:relative;text-align:center;width:33%}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.collaboration_zone_menu li{border-right:1px solid #c4c4c4}.collaboration_zone_menu li:last-child{border-right:none}.collaboration_zone_menu li:hover{color:#009aff}.collaboration_zone_menu_icon{font-size:20px;vertical-align:-.225em}.collaboration_zone_wrapper{padding-right:10px}::ng-deep .collaboration_zone_wrapper .ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{background:#fcfcfc}::ng-deep .collaboration_zone_wrapper .ant-collapse>.ant-collapse-item>.ant-collapse-header{border-bottom:1px solid #f1f1f1;padding:8px 15px 8px 40px}.collaboration_box{background:#fcfcfc;border:1px solid #c4c4c4;margin:5px 0 0;padding:8px 10px 5px;position:relative}.collaboration_zone_wrapper .editable{background-color:#fff;border:none;border-radius:3px;border-radius:0;cursor:text;font-size:13px;margin-bottom:0;min-height:1em;padding:12px 0 13px 8px;text-align:left}.collaboration_zone_wrapper .collaboration_box .title_wrapper{cursor:pointer;font-size:15px;font-weight:500;margin-left:-35px;padding-bottom:5px;padding-left:35px;position:relative}.collaboration_zone_wrapper .collaboration_box .title_wrapper .title{border:1px dashed transparent;font-size:14px;margin-left:5px;position:relative;top:-1px}.collaboration_zone_wrapper .collaboration_box .title_wrapper .minimize_btn{color:#c4c4c4;font-size:16px;position:absolute;right:5px;top:-2px;transform-origin:50% 50%;transition:transform .1s ease-in-out;vertical-align:text-top}.collaboration_zone_wrapper .collaboration_box .title_wrapper .title_underline{border-bottom:1px solid #f1f1f1;height:0;left:35px;position:absolute;right:0;top:27px}.collaboration_box_body{height:auto;margin-top:10px;overflow:visible;position:relative}.body_text{color:#666;font-weight:300!important;overflow:auto;word-break:break-word}.collaboration_text_box .editor_content.not_active{min-height:70px;padding:0}.collaboration_zone_wrapper .collaboration_box .last_updated{color:#c4c4c4;font-size:12px;height:24px;margin:10px 0 0;position:relative}.collaboration_zone_wrapper .collaboration_box .last_updated .box_actions{position:absolute;right:-3px;top:-2px}.collaboration_zone_wrapper .collaboration_box .last_updated .box_actions .share_with{padding-right:25px}.collaboration_box .permission_lock{color:#999;display:inline-block;font-size:12px;margin-top:2px;position:relative;vertical-align:top}.collaboration_zone_wrapper .collaboration_box .last_updated .box_actions .settings_btn_wrapper,.collaboration_zone_wrapper .collaboration_box .last_updated .box_actions .share_with{display:inline-block}.settings_btn_wrapper{color:#777;cursor:pointer;position:absolute;right:5px;top:3px;width:50px}.collapse-open{transform:rotate(180deg)}.collapse-close,.collapse-open{transition:transform .2s linear}.collapse-close{transform:rotate(0deg)}.collaboration_box:hover .collapse-icon{color:#009aff}.edit-content-button{background:#f1f1f1;cursor:pointer;display:block;opacity:0;padding:2px 7px 3px;position:absolute;right:0;top:0;transition:opacity .2s ease-in-out}.edit-content-button:hover{color:#009aff}.collaboration_box:hover .edit-content-button,.collaboration_box:hover .editable-icon{opacity:1}.editable-icon{font-size:14px;margin-left:10px;opacity:0}.editable-icon:hover{color:#009aff}.collaboration_zone_panel{height:calc(100vh - 200px);overflow-y:auto;padding-right:5px}::ng-deep .collaboration_zone_wrapper .ql-toolbar.ql-snow{background:#fff;border-bottom:1px solid #efefef;border-color:#fcfcfc;border-top-left-radius:0;border-top-right-radius:0}::ng-deep .collaboration_zone_wrapper .ql-container.ql-snow{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#fcfcfc}.editor-footer{text-align:right}::ng-deep .collaboration_zone_wrapper .ant-input{background:#fcfcfc;border:1px solid #fcfcfc}::ng-deep .collaboration_zone_wrapper .ant-input:hover{border:1px dashed #c4c4c4}::ng-deep .collaboration_zone_wrapper .ant-input:focus{background:#fff}.add-attachment{color:#009aff;cursor:pointer;display:inline-block;float:left;margin-top:10px;text-align:left}.syn-to-update{float:left;margin-left:16px;margin-top:10px}.page-list{margin-top:50px}"]}]}],"members":{"changData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3},"arguments":["nfPulseData"]}]}],"currentUser":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"auto":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":48,"character":3},"arguments":["auto"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":50,"character":17},{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"changeCollapse":[{"__symbolic":"method"}],"created":[{"__symbolic":"method"}],"changeEditState":[{"__symbolic":"method"}],"addNote":[{"__symbolic":"method"}],"doSubmit":[{"__symbolic":"method"}],"deleteInfo":[{"__symbolic":"method"}],"editTile":[{"__symbolic":"method"}],"inputState":[{"__symbolic":"method"}],"getInfoBoxList":[{"__symbolic":"method"}],"addAttachment":[{"__symbolic":"method"}],"syncToUpdate":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"uploadFile":[{"__symbolic":"method"}],"pageChange":[{"__symbolic":"method"}]}},"ɵbq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"nf-archived-board","template":"<div class=\"recycle-bin-header\">\r\n  <div class=\"recycle-bin-header-text\">\r\n    <i nz-icon nzType=\"credit-card\" nzTheme=\"outline\"></i>\r\n    已归档面板\r\n  </div>\r\n  <div class=\"recycle-bin-filter-input-wrapper\">\r\n    <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n      <input type=\"text\" nz-input placeholder=\"input search text\" [(ngModel)]=\"queryParam.search\"/>\r\n    </nz-input-group>\r\n    <ng-template #suffixIconSearch>\r\n      <i style=\"font-size: 16px; margin-right: 5px;\" nz-icon nzType=\"search\" (click)=\"searchByParam()\"></i>\r\n    </ng-template>\r\n  </div>\r\n</div>\r\n<div class=\"recycle-bin-description\">\r\n  你不使用的面板，当你需要时可以从这拿回去\r\n</div>\r\n<div style=\"overflow-y: auto;\" [style.height]=\"contentHeight\">\r\n  <div class=\"recycle-bin\" *ngFor=\"let archivedBoard of archivedBoardList; let i = index;\">\r\n    <div class=\"recycle-bin-item\">\r\n      <div class=\"item-type-icon\">\r\n        <div class=\"image-container\">\r\n          <img class=\"recycle-bin-image\" src=\"assets/images/archived_board3.png\">\r\n          <div class=\"recycle-bin-text\">Board</div>\r\n        </div>\r\n      </div>\r\n      <div class=\"user-image-container\">\r\n        <i class=\"user-image\" nz-icon [nzIconfont]=\"'icon-owner'\"></i>\r\n      </div>\r\n      <div class=\"item-text\">\r\n        <span>\r\n          <a class=\"user-name\"><span>{{archivedBoard['updater']}}</span></a>\r\n          <span> 归档了面板 </span>\r\n          <span class=\"object-name bold-text\">\r\n            <div class=\"ds-text-component\" dir=\"auto\">\r\n              <span>{{archivedBoard['boardName']}}</span>\r\n            </div>\r\n          </span>\r\n        </span>\r\n        <div class=\"time\">\r\n          <i class=\"icon icon-dapulse-time\"></i>{{archivedBoard['updatedAt'] | longTimeAgo}} <span class=\"delete-permanently\"></span>\r\n        </div>\r\n      </div>\r\n      <div class=\"restore-button\">\r\n        <button nz-button nzType=\"primary\" style=\"border-radius: 15rem;padding: 0.641rem 2rem; font-size: 0.875rem; line-height: 1.25; height: 2.50908rem;\" (click)=\"restoreBoard(archivedBoard, i)\">恢复</button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<div style=\"margin-top: 10px; text-align: center;\" *ngIf=\"total > 0\">\r\n  <nz-pagination\r\n    [(nzPageIndex)]=\"queryParam.page\"\r\n    [(nzPageSize)]=\"queryParam.size\"\r\n    [nzTotal]=\"total\"\r\n    (nzPageIndexChange)=\"pageChange()\"\r\n    (nzPageSizeChange)=\"pageChange()\"\r\n    nzShowSizeChanger\r\n    nzShowQuickJumper\r\n  ></nz-pagination>\r\n</div>\r\n","styles":[".recycle-bin-header{align-items:center;display:flex;justify-content:space-between;padding:16px 0 0 16px;width:70%}.recycle-bin-header-text{color:#333;font-size:32px;font-weight:300;letter-spacing:0;text-align:left}.recycle-bin-description{color:#333;font-size:16px;margin-bottom:32px;padding-left:16px;text-align:left}.recycle-bin-filter-input-wrapper{padding:2px 0;position:relative}.recycle-bin{margin-bottom:24px;width:70%}.recycle-bin .recycle-bin-item{align-items:center;border:1px solid #e1e1e1;border-radius:2px;display:flex;flex:1 1 auto;height:96px}.recycle-bin .recycle-bin-item .item-type-icon{align-items:center;border-right:1px solid #f1f1f1;display:flex;flex:0 0 96px;height:100%;justify-content:center}.recycle-bin .recycle-bin-item .item-text .object-name{display:inline-block;max-width:300px;position:relative;top:1px;vertical-align:bottom}.recycle-bin .recycle-bin-item .item-text .bold-text{font-size:16px;font-weight:500;letter-spacing:0}.recycle-bin .recycle-bin-item .item-type-icon .image-container{margin-top:8px;text-align:center}.recycle-bin .recycle-bin-item .item-type-icon .image-container .recycle-bin-image{width:40px}.recycle-bin .recycle-bin-item .user-image-container{line-height:0;margin-left:24px}.recycle-bin .recycle-bin-item .item-text{flex:1 1 auto;margin-left:16px}.recycle-bin .recycle-bin-item .item-text .time{font-size:14px;font-weight:400;letter-spacing:0;margin-top:5px}.recycle-bin .recycle-bin-item .restore-button{margin-left:48px;margin-right:24px}.ds-btn-primary{background-color:#009aff;border-color:#009aff;box-shadow:none;color:#fff;outline:none}.ds-btn{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border:1px solid transparent;border-radius:15rem;cursor:pointer;display:inline-block;font-family:Roboto;font-size:.875rem;font-weight:300;height:2.50908rem;line-height:1.25;padding:.641rem 2rem;text-align:center;transition:padding-left .35s cubic-bezier(.19,1,.22,1),padding-right .35s cubic-bezier(.19,1,.22,1),color .1s ease-in-out,background-color .1s ease-in-out,border-color .1s ease-in-out;user-select:none;vertical-align:middle;white-space:nowrap}.user-image{border-radius:50%;color:#c4c4c4;font-size:55px;height:50px;width:50px}"]}]}],"members":{"refreshBoardList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":25,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"searchByParam":[{"__symbolic":"method"}],"pageChange":[{"__symbolic":"method"}],"handleQueryResult":[{"__symbolic":"method"}],"restoreBoard":[{"__symbolic":"method"}]}},"ɵbr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-user","template":"<div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n  <nz-tabset nzSize=\"small\" [(nzSelectedIndex)]=\"tabIndex\" (nzSelectedIndexChange)=\"userTabIndexChange()\">\r\n    <nz-tab nzTitle=\"选择用户\">\r\n      <div style=\"padding: 5px; max-width: 300px; max-height: 60px; overflow-y: auto;\" [ngClass]=\"{'border-bottom': userSelectedList.length > 0}\">\r\n        <ng-container *ngFor=\"let user of userSelectedList\">\r\n          <nz-tag nzMode=\"closeable\" (nzOnClose)=\"removeUser(user.id)\">{{user.name}}</nz-tag>\r\n        </ng-container>\r\n      </div>\r\n      <div style=\"max-height: 250px; overflow-y: auto;\">\r\n        <div style=\"padding-bottom: 5px;\">\r\n          <nz-select\r\n            style=\"width: 100%;\"\r\n            [(ngModel)]=\"selectedMemberValue\"\r\n            (ngModelChange)=\"userColumnChange($event)\"\r\n            (nzScrollToBottom)=\"loadMore()\"\r\n            nzPlaceHolder=\"选择成员\"\r\n            nzAllowClear\r\n            nzShowSearch\r\n            (nzOnSearch)=\"onMemberSearch($event)\"\r\n            [nzDropdownRender]=\"renderTemplate\">\r\n            <nz-option *ngFor=\"let o of memberList\" [nzValue]=\"o\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n          </nz-select>\r\n          <ng-template #renderTemplate>\r\n            <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n          </ng-template>\r\n        </div>\r\n      </div>\r\n    </nz-tab>\r\n    <nz-tab nzTitle=\"选择面板列\">\r\n      <div style=\"max-height: 300px; min-height: 260px; overflow-y: auto;\">\r\n        <div *ngFor=\"let user of userColumnList\" class=\"automations-column-field-column-option\" style=\"margin-bottom: 2px;\"\r\n             [ngClass]=\"{'selected': receiver['value'] && receiver['value'].includes(user.id)}\" (click)=\"userColumnChange(user)\">\r\n          <div class=\"column-icon\">\r\n            <span class=\"column-type-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n            </span>\r\n          </div>\r\n          <div class=\"column-title\">{{user.title}}</div>\r\n        </div>\r\n      </div>\r\n    </nz-tab>\r\n    <nz-tab nzTitle=\"选择面板订阅人\">\r\n      <div style=\"height: 300px;\">\r\n        <div style=\"padding: 5px 10px; width: 300px; border-bottom: 1px solid #f2f2f2;\">\r\n          <label nz-checkbox [(ngModel)]=\"checkAll\" (ngModelChange)=\"checkAllChange()\">全选</label>\r\n        </div>\r\n        <div nz-row style=\"max-height: 270px; overflow-y: auto; width: 300px;\">\r\n          <div *ngFor=\"let item of subscribers\" nz-col nzSpan=\"24\" style=\"padding: 3px 10px; width: 300px;\">\r\n            <label nz-checkbox [(ngModel)]=\"item.checked\" (ngModelChange)=\"checkboxChange()\">{{item.name + '(' + item.id + ')'}}</label>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </nz-tab>\r\n  </nz-tabset>\r\n</div>\r\n","styles":[".condition-container{min-height:50px;min-width:300px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}.border-bottom{border-bottom:2px solid #f2f2f2;margin-bottom:5px}"]}]}],"members":{"boardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"getUserData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"userDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3},"arguments":["userData"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":54,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"userTabIndexChange":[{"__symbolic":"method"}],"userColumnChange":[{"__symbolic":"method"}],"removeUser":[{"__symbolic":"method"}],"checkAllChange":[{"__symbolic":"method"}],"checkboxChange":[{"__symbolic":"method"}]}},"ɵbs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-pulse-created-send-notification","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <span class=\"automations-editor-text-term-component\"> 当更新在 </span>\r\n              <span class=\"automations-editor-field-term-component  in-editor\">\r\n                <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                     [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n              </span>\r\n              <span class=\"automations-editor-text-term-component\"> 中的行中被创建，且包含 </span>\r\n              <span class=\"automations-editor-field-term-component in-editor\">\r\n                <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"keywordPopVisible\" [nzPopoverContent]=\"keywordTemplate\">\r\n                  <div class=\"ds-text-component\">\r\n                    <span [ngClass]=\"automation.keyword ? 'selected':''\">关键字</span>\r\n                  </div>\r\n                  <ng-template #keywordTemplate>\r\n                    <div>\r\n                      <input nz-input [(ngModel)]=\"automation.keyword\" (ngModelChange)=\"keywordChange()\">\r\n                    </div>\r\n                  </ng-template>\r\n                </div>\r\n              </span>\r\n              <span class=\"automations-editor-text-term-component\"> 时 发送 </span>\r\n              <span class=\"automations-editor-field-term-component in-editor\">\r\n                <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                  <div class=\"ds-text-component\">\r\n                    <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                  </div>\r\n                  <ng-template #mailTemplate>\r\n                    <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                     [smsTemplateList]=\"smsTemplateList\" [updateEnable]=\"true\"\r\n                                     (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                  </ng-template>\r\n                </div>\r\n              </span>\r\n              <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n              <span class=\"automations-editor-field-term-component in-editor\">\r\n                <div class=\"field-text\">\r\n                  <div class=\"ds-text-component\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                  </div>\r\n                  <ng-template #receiverTemplate>\r\n                    <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                  </ng-template>\r\n                </div>\r\n              </span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"keywordChange":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nf-file","template":"<div style=\"display: flex; height: 100%;\">\r\n  <div class=\"file-cell-component\">\r\n    <i *ngIf=\"columnValue && columnValue.config && columnValue.config.watermark && columnValue.files && columnValue.files.length > 0\"\r\n       nz-icon nzType=\"file-markdown\" nz-tooltip=\"文档已加水印\"\r\n       style=\"color: rgba(0,0,0,0.3); font-size: 12px; position: absolute; left: 10px;\"></i>\r\n    <i *ngIf=\"!disabled\" nz-icon nzType=\"plus-circle\" title=\"添加文件\" [(nzPopoverVisible)]=\"addFilePop\"\r\n       nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"leftTop\" [nzPopoverContent]=\"addFileTemp\"></i>\r\n    <ng-template #addFileTemp>\r\n      <div style=\"width: 260px; max-height: 300px; overflow-y: auto;\">\r\n        <div class=\"multiple-items-box-component\">\r\n          <div class=\"item-tokens-line\" *ngFor=\"let file of columnValue.files; let i = index\">\r\n            <div class=\"single-box-item-component item-token file-item can-change-content\">\r\n              <img class=\"file-icon-display\" src=\"assets/images/file-icon/{{getFileIcon(file.type)}}\" alt=\"\">\r\n              <span (click)=\"openViewDialog(file, i)\" class=\"file-name-without-extension\">{{file.name}}</span>\r\n              <span style=\"font-size: 18px; cursor: pointer;\" title=\"删除\" (click)=\"deleteFile(i)\">&nbsp;&nbsp;x</span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"op-cell-item\" (click)=\"openFileDialog()\">\r\n        <i nz-icon nzType=\"plus\" title=\"添加\"></i>\r\n      </div>\r\n      <nz-upload style=\"display: none;\"\r\n                 [nzAction]= \"uploadFileUrl\"\r\n                 (nzChange)=\"uploadFile($event)\">\r\n        <button id=\"uploadFile\" nz-button><i nz-icon nzType=\"upload\"></i><span>选择文件</span></button>\r\n      </nz-upload>\r\n    </ng-template>\r\n    <ng-container *ngIf=\"columnValue && columnValue.files && columnValue.files.length <= 4\">\r\n      <ng-container *ngFor=\"let file of columnValue.files; let i = index;\">\r\n        <img (click)=\"openViewDialog(file, i)\" nz-tooltip nzTooltipTitle=\"{{file.name}}\" alt=\"\" class=\"file-icon\" [ngStyle]=\"{'margin-left': i > 0 ? '5px': '0'}\"\r\n             src=\"assets/images/file-icon/{{getFileIcon(file.type)}}\">\r\n      </ng-container>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"columnValue && columnValue.files && columnValue.files.length > 4\">\r\n      <ng-container *ngFor=\"let file of columnValue.files.slice(0, 3); let i = index;\">\r\n        <img (click)=\"openViewDialog(file, i)\" nz-tooltip nzTooltipTitle=\"{{file.name}}\" alt=\"\" class=\"file-icon\"\r\n             src=\"assets/images/file-icon/{{getFileIcon(file.type)}}\">\r\n      </ng-container>\r\n      <div class=\"extra-files-indicator-component\"\r\n           nz-popover [nzPopoverContent]=\"fileTemplate\" nzPopoverTrigger=\"hover\" nzPopoverPlacement=\"leftTop\">\r\n        +{{columnValue.files.length - 3}}</div>\r\n      <ng-template #fileTemplate>\r\n        <div style=\"padding: 5px; max-height: 300px; overflow-y: auto;\">\r\n          <div style=\"width: 200px; padding: 5px;\" *ngFor=\"let file of columnValue.files; let i = index;\">\r\n            <img alt=\"\" style=\"height: 24px;\"\r\n                 src=\"assets/images/file-icon/{{getFileIcon(file.type)}}\">\r\n            <span (click)=\"openViewDialog(file, i)\" style=\"cursor: pointer;\">{{file.name}}</span>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n    </ng-container>\r\n  </div>\r\n  <div class=\"config-cell-component\">\r\n    <i *ngIf=\"!disabled\" nz-icon nzType=\"setting\" style=\"font-size: 18px; color: rgba(0,0,0,0.25)\" title=\"修改设置\" [(nzPopoverVisible)]=\"configPopVisible\"\r\n       nz-popover [nzPopoverContent]=\"operationTemplate\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"top\"></i>\r\n    <ng-template #operationTemplate>\r\n      <div style=\"width: 260px; padding: 12px\">\r\n        <div style=\"display: flex;\">\r\n          <div style=\"width: 80px;\">添加水印：</div>\r\n          <div style=\"width: 180px;\">\r\n            <nz-radio-group [(ngModel)]=\"columnValue.config.watermark\">\r\n              <label nz-radio [nzValue]=\"true\">是</label>\r\n              <label nz-radio [nzValue]=\"false\">否</label>\r\n            </nz-radio-group>\r\n          </div>\r\n        </div>\r\n        <div *ngIf=\"columnValue.config.watermark\" style=\"display: flex; margin-top: 10px;\">\r\n          <div style=\"width: 80px;\">水印内容：</div>\r\n          <div style=\"width: 180px;\">\r\n            <input [(ngModel)]=\"columnValue.config.watermarkContent\"/>\r\n          </div>\r\n        </div>\r\n        <div *ngIf=\"columnValue.config.watermark\" style=\"margin-top: 10px;\">\r\n          水印内容后面默认加上当前登录人姓名+邮箱\r\n        </div>\r\n        <div style=\"margin-top: 10px; text-align: center; padding: 5px 0;\">\r\n          <button nz-button nzType=\"primary\" style=\"width: 100%;\" (click)=\"saveValue()\">确定</button>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n  </div>\r\n</div>\r\n\r\n<nz-modal [nzStyle]=\"{ top: '50px', padding: '0' }\" nzWrapClassName=\"custom-modal\"\r\n  [nzWidth]=\"modalWidth\" [(nzVisible)]=\"modalVisible\" [nzFooter]=\"null\" (nzOnCancel)=\"modalVisible=false\">\r\n  <div [style.height]=\"modalHeight\" style=\"width: 100%; display: flex; margin: -15px;\">\r\n    <div style=\"flex: 4 0; background-color: black; display: flex;\">\r\n      <div class=\"file-preview-wrapper\" (click)=\"preFile()\">\r\n        <i nz-icon nzType=\"left\" class=\"icon-arrow\"></i>\r\n      </div>\r\n      <div class=\"file-preview-content\">\r\n        <div class=\"default-preview-component\">\r\n          <div *ngIf=\"selectedFile.type == 'image/jpeg' || selectedFile.type == 'image/jpg' || selectedFile.type == 'image/png'\"\r\n               style=\"width: 100%; height: 100%; text-align: center;\" [style.line-height]=\"imageHeight\">\r\n            <img style=\"max-width: 100%; max-height: 100%;\" [src]=\"downloadFileUrl + selectedFile.id\" alt=\"图片加载失败\"/>\r\n          </div>\r\n          <div *ngIf=\"selectedFile.type == 'application/pdf'\" style=\"max-width: 100%; max-height: 100%; width: 100%; height: 100%;\">\r\n            <iframe style=\"height: 100%; width: 100%;\" [src]=\"pdfPreviewUrl\"></iframe>\r\n          </div>\r\n          <div *ngIf=\"selectedFile.type == 'application/msword' || selectedFile.type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\"\r\n               style=\"max-width: 100%; max-height: 100%; width: 100%; height: 100%;\">\r\n            <iframe style=\"height: 100%; width: 100%;\" [src]=\"wordPreviewUrl\"></iframe>\r\n          </div>\r\n          <div *ngIf=\"!(selectedFile.type == 'image/jpeg' ||\r\n          selectedFile.type == 'image/jpg' ||\r\n          selectedFile.type == 'image/png' ||\r\n          selectedFile.type == 'application/pdf' ||\r\n          selectedFile.type == 'application/msword' ||\r\n          selectedFile.type == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document')\"\r\n               class=\"default-preview\">\r\n            <div>\r\n              <i nz-icon nzType=\"file\" style=\"font-size: 70px; color: white;\"></i>\r\n              <div style=\"font-size: 24px; color: white;\">{{getFileSuffix(selectedFile.name)}}</div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"file-preview-wrapper\" (click)=\"nextFile()\">\r\n        <i nz-icon nzType=\"right\" class=\"icon-arrow\"></i>\r\n      </div>\r\n    </div>\r\n    <div style=\"flex: 1 0; background-color: #E1E1E1; display: flex; margin-right: -30px;\">\r\n      <div style=\"padding-top: 32px; width: 100%;\">\r\n        <div class=\"file-details-section\">\r\n          <div class=\"user-details\">\r\n            <div style=\"width: 50px; height: 50px; border-radius: 50%; margin-right: 8px;\"></div>\r\n            <div></div>\r\n          </div>\r\n          <div class=\"file-name\">\r\n            {{selectedFile.name}}\r\n          </div>\r\n          <div class=\"pulse-name\">\r\n            {{selectedFile.taskName}}\r\n          </div>\r\n        </div>\r\n        <div class=\"file-details-section\">\r\n          <div class=\"file-field\">\r\n            <div class=\"field-label\">\r\n              创建于：\r\n            </div>\r\n            <div class=\"field-value\">\r\n              {{selectedFile.created|date:'yyyy-MM-dd HH:mm:ss'}}\r\n            </div>\r\n          </div>\r\n          <div class=\"file-field\">\r\n            <div class=\"field-label\">\r\n              类型：\r\n            </div>\r\n            <div class=\"field-value\">\r\n              {{selectedFile.type}}\r\n            </div>\r\n          </div>\r\n          <div class=\"file-field\">\r\n            <div class=\"field-label\">\r\n              大小：\r\n            </div>\r\n            <div class=\"field-value\">\r\n              {{translateSize(selectedFile.size)}}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"file-details-section\">\r\n          <ng-container *ngIf=\"columnValue.config && columnValue.config.watermark\">\r\n            <a class=\"file-action-button\" target=\"_blank\" [href]=\"watermarkFileUrl + selectedFile.id + '?watermark=' + columnValue.config.watermarkContent\"><i nz-icon nzType=\"download\" class=\"icon\"></i>下载</a>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"!columnValue.config || !columnValue.config.watermark\">\r\n            <a class=\"file-action-button\" target=\"_blank\" [href]=\"downloadFileUrl + selectedFile.id\"><i nz-icon nzType=\"download\" class=\"icon\"></i>下载</a>\r\n          </ng-container>\r\n          <a class=\"file-action-button\" (click)=\"downloadAll()\"><i nz-icon nzType=\"download\" class=\"icon\"></i>下载全部({{columnValue.files?columnValue.files.length:0}})</a>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <!--<iframe src=\"\">\r\n      <p>您的浏览器不支持Iframes</p>\r\n    </iframe>-->\r\n  </div>\r\n</nz-modal>\r\n","styles":[".file-cell-component{align-items:center;display:flex;justify-content:center;position:relative;width:85%;z-index:1}.file-cell-component i{color:#f0f0f0;font-size:18px;margin-right:5px}.file-cell-component:hover i{color:#00a9ff}.file-cell-component i:hover{transform:scale(1.2)}.config-cell-component{width:15%}.config-cell-component i:hover{transform:scale(1.2)}.op-cell-item{border-radius:5px;cursor:pointer;height:30px;line-height:30px;text-align:center}.op-cell-item:hover{background-color:#00a9ff;color:#fff}.file-icon{height:24px;margin-left:5px;min-width:22px;transition:all .1s ease-in-out}.file-icon:hover{transform:scale(1.3)}.file-display{height:40px;line-height:30px;padding:5px}.file-icon-display{height:24px;margin-right:5px}.file-name-without-extension{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extra-files-indicator-component{align-items:center;background-color:#333;border-radius:24px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:300;height:24px;justify-content:center;margin-left:5px;min-width:24px;padding:0 4px;position:relative}.extra-files-indicator-component:hover{transform:scale(1.2)}.multiple-items-box-component{display:flex;flex-wrap:wrap;justify-content:flex-start;max-height:250px;overflow-y:auto;padding:2px;position:relative;width:100%}.item-tokens-line{display:flex;max-width:100%;overflow:hidden;position:relative;width:100%}.multiple-items-box-component .item-token{background:#f7f7f7;border:1px solid #f7f7f7;border-radius:24px;box-sizing:content-box;color:#333;font-size:12px;font-weight:400;height:22px;margin:4px;max-width:calc(100% - 8px);min-width:0}.single-box-item-component{align-items:center;display:flex;transition:flex-shrink .15s ease-in}.file-preview-wrapper{cursor:pointer;flex:1 0;font-size:30px;transition:background .1s ease}.file-preview-content,.file-preview-wrapper{align-items:center;display:flex;justify-content:center}.file-preview-content{flex:18 0;margin:32px 0}.default-preview-component{height:100%;width:100%}.default-preview,.default-preview-component{align-items:center;display:flex;justify-content:center}.default-preview{border:1px solid #c4c4c4;border-radius:8px;height:50vh;text-align:center;width:40vh}.file-details-section{font-size:14px;margin:0 32px;padding:28px 0}.user-details{align-items:flex-end;display:flex;margin-bottom:16px}.file-name{font-size:18px;font-weight:500;margin-bottom:4px;margin-left:-4px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.pulse-name{margin-bottom:4px;text-decoration:underline}.file-field{display:flex;margin-bottom:4px}.field-label{font-weight:400;margin-right:8px;width:30%}.field-value{width:70%;word-break:break-all}.file-action-button{align-items:center;color:#333;cursor:pointer;display:flex;padding:2px 8px;text-decoration:none}.icon{color:#009aff;font-size:18px;margin-right:8px}.icon-arrow{color:#fff;transform:scaleY(1.2)}.icon-arrow:hover{color:#a9a9a9}::ng-deep .custom-modal .ant-modal-close{color:#000!important}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3},"arguments":["nfBoardData"]}]}],"boardColumnChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3},"arguments":["boardColumn"]}]}],"pulseChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3},"arguments":["pulse"]}]}],"columnValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":75,"character":23},{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation","line":76,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"getFileIcon":[{"__symbolic":"method"}],"openFileDialog":[{"__symbolic":"method"}],"uploadFile":[{"__symbolic":"method"}],"addFile":[{"__symbolic":"method"}],"deleteFile":[{"__symbolic":"method"}],"saveValue":[{"__symbolic":"method"}],"openViewDialog":[{"__symbolic":"method"}],"getFileSuffix":[{"__symbolic":"method"}],"translateSize":[{"__symbolic":"method"}],"preFile":[{"__symbolic":"method"}],"nextFile":[{"__symbolic":"method"}],"getFilePreviewUrl":[{"__symbolic":"method"}],"downloadAll":[{"__symbolic":"method"}],"handleRes":[{"__symbolic":"method"}]}},"ɵbu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nf-link","template":"<div style=\"display: flex;\">\r\n  <div class=\"link-cell-component\" (click)=\"linkPage()\">\r\n    <div *ngIf=\"columnValue.name && columnValue.url\" class=\"link\">\r\n      {{columnValue.name}}\r\n    </div>\r\n    <div *ngIf=\"columnValue.name && !columnValue.url\" title=\"未设置链接地址\">\r\n      {{columnValue.name}}\r\n    </div>\r\n    <div *ngIf=\"!columnValue.name && columnValue.url\" class=\"link\" title=\"{{columnValue.url}}\">\r\n      --\r\n    </div>\r\n  </div>\r\n  <div class=\"config-cell-component\">\r\n    <i *ngIf=\"!disabled\" nz-icon nzType=\"setting\" style=\"font-size: 18px; color: rgba(0,0,0,0.25)\" title=\"修改设置\" [(nzPopoverVisible)]=\"configPopVisible\"\r\n       nz-popover [nzPopoverContent]=\"operationTemplate\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"leftTop\"></i>\r\n    <ng-template #operationTemplate>\r\n      <div style=\"width: 320px; padding: 12px\">\r\n        <div style=\"display: flex;\">\r\n          <div class=\"label\">链接名称：</div>\r\n          <div class=\"item\">\r\n            <input nz-input [(ngModel)]=\"columnValue.name\"/>\r\n          </div>\r\n        </div>\r\n        <div class=\"mg-top-10\">\r\n          <div class=\"label\">链接地址：</div>\r\n          <div class=\"item\">\r\n            <input nz-input [(ngModel)]=\"columnValue.url\" placeholder=\"外部链接请以http://开头\"/>\r\n          </div>\r\n        </div>\r\n        <div class=\"mg-top-10\">\r\n          <div class=\"label\">参数列表：</div>\r\n          <div class=\"item\" style=\"text-align: right;\">\r\n            <i nz-icon nzType=\"plus-circle\" class=\"param-op-icon\" (click)=\"addParam()\"></i>\r\n          </div>\r\n        </div>\r\n        <div style=\"margin-top: 10px; max-height: 100px; overflow-y: auto; padding-left: 3px;\">\r\n          <div *ngFor=\"let param of columnValue.params; let i = index;\" style=\"display: flex; width: 100%; margin-bottom: 5px;\">\r\n            <input style=\"width: 90px;\" nz-input [(ngModel)]=\"param.code\" placeholder=\"字段编码\" title=\"字段编码\"/>\r\n            <nz-select style=\"width: 170px; margin-left: 10px\" [(ngModel)]=\"param.column\" nzPlaceHolder=\"选择面板列\">\r\n              <nz-option *ngFor=\"let column of selectOption\" [nzValue]=\"column.id\" [nzLabel]=\"column.title\"></nz-option>\r\n            </nz-select>\r\n            <i nz-icon nzType=\"minus-circle\" class=\"param-op-icon\" style=\"margin-left: 5px;\" (click)=\"removeParam(i)\"></i>\r\n          </div>\r\n        </div>\r\n        <div>\r\n          <div class=\"label\">跳转方式：</div>\r\n        </div>\r\n        <div class=\"mg-top-10\" style=\"padding-left: 10px;\">\r\n          <nz-radio-group [(ngModel)]=\"columnValue.skipMode\">\r\n            <label nz-radio nzValue=\"1\">新页面</label>\r\n            <label nz-radio nzValue=\"2\">本页面</label>\r\n            <label nz-radio nzValue=\"3\">弹窗</label>\r\n          </nz-radio-group>\r\n        </div>\r\n        <div class=\"mg-top-10\">\r\n          <div style=\"width: 100%; padding-left: 10px;\">\r\n            <button style=\"width: 100%; font-size: 14px;\" nz-button nzType=\"default\" (click)=\"cellSet()\">设置</button>\r\n          </div>\r\n        </div>\r\n        <div class=\"mg-top-10\">\r\n          <div class=\"op-area\">\r\n            <button nz-button class=\"button\" nzType=\"primary\" (click)=\"groupSet()\">批量设置本组</button>\r\n          </div>\r\n          <div class=\"op-area\">\r\n            <button nz-button class=\"button\" nzType=\"dashed\" (click)=\"groupClear()\">批量清除本组</button>\r\n          </div>\r\n        </div>\r\n        <div class=\"mg-top-10\">\r\n          <div class=\"op-area\">\r\n            <button nz-button class=\"button\" nzType=\"primary\" (click)=\"columnSet()\">批量设置本列</button>\r\n          </div>\r\n          <div class=\"op-area\">\r\n            <button nz-button class=\"button\" nzType=\"dashed\" (click)=\"columnClear()\">批量清除本列</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n  </div>\r\n</div>\r\n\r\n<nz-modal [nzStyle]=\"{ top: '50px', padding: '0' }\" [nzMaskClosable]=\"false\" nzWrapClassName=\"custom-modal\"\r\n          [nzWidth]=\"modalWidth\" [(nzVisible)]=\"modalVisible\" [nzFooter]=\"null\" (nzOnCancel)=\"modalVisible=false\">\r\n  <div *ngIf=\"modalVisible\" [style.height]=\"modalHeight\" style=\"padding-top: 24px;\">\r\n    <iframe style=\"height: 100%; width: 100%; border: none;\" [src]=\"pageUrl\"></iframe>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".link{color:#4a4a4a;min-width:60px}.link:hover{color:#00a9ff}.link-cell-component{align-items:center;display:flex;justify-content:center;position:relative;width:85%;z-index:1}.config-cell-component{width:15%}.config-cell-component i:hover{transform:scale(1.2)}.mg-top-10{display:flex;margin-top:10px}.op-area{padding:0 10px;width:50%}.label{font-size:15px;font-weight:600;line-height:32px;width:80px}.item{width:216px}.param-op-icon{color:#a9a9a9;font-size:18px;line-height:32px}.param-op-icon:hover{color:#00a9ff}.button{font-size:14px;width:100%}::ng-deep .custom-modal .ant-modal-close{color:#000!important}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3},"arguments":["nfBoardData"]}]}],"boardColumnChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3},"arguments":["boardColumn"]}]}],"pulseChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3},"arguments":["pulse"]}]}],"columnValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"column":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":63,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":67,"character":23},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":68,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"addParam":[{"__symbolic":"method"}],"removeParam":[{"__symbolic":"method"}],"saveValue":[{"__symbolic":"method"}],"cellSet":[{"__symbolic":"method"}],"groupSet":[{"__symbolic":"method"}],"groupClear":[{"__symbolic":"method"}],"columnSet":[{"__symbolic":"method"}],"columnClear":[{"__symbolic":"method"}],"linkPage":[{"__symbolic":"method"}],"pageJump":[{"__symbolic":"method"}],"generateParam":[{"__symbolic":"method"}],"handleColumn":[{"__symbolic":"method"}]}},"ɵbv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"filter"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵbw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-text-change","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\">当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnPopVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnValue}\">{{columnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择文本列</div>\r\n                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnValue}\"\r\n                             *ngFor=\"let item of columnSelectList\" (click)=\"columnValueChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 值变为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover [(nzPopoverVisible)]=\"conditionVisible\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"conditionContentTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"conditionData ? 'selected':''\">{{conditionData?conditionData:'某值'}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #conditionContentTemplate>\r\n                    <div>\r\n                      <input nz-input [(ngModel)]=\"conditionData\" (ngModelChange)=\"conditionDataChange()\"/>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，归档这个任务 </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"initSelectData":[{"__symbolic":"method"}],"columnValueChange":[{"__symbolic":"method"}],"conditionDataChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-product-change-update","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 当新的 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover [(nzPopoverVisible)]=\"situationVisible\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"situationTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"situationData ? 'selected':''\">情况</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #situationTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">情况</div>\r\n                      <div class=\"automations-column-field-column-option\" *ngFor=\"let item of situationOption\"\r\n                           [ngClass]=\"{'selected': item.code == situationData}\" (click)=\"situationChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 且满足 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover [(nzPopoverVisible)]=\"conditionVisible\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"conditionContentTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.conditions.length > 0 ? 'selected':''\">条件</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #conditionContentTemplate>\r\n                    <nf-condition [nfData]=\"automation.conditions\" [optionsData]=\"conditionData\" (nfDataChange)=\"getConditionData($event)\"></nf-condition>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\"  [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzWidth]=\"'600px'\"  [nzOkText]=\"'确定'\" [nzCancelText]=\"'取消'\" (nzOnCancel)=\"isVisible=false\" (nzOnOk)=\"handleOk()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":44,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"situationChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getConditionData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵby":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-status-notify","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span>&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.index != null}\">{{columnValueDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.index==item.index ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 ，发 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                    </div>\r\n                    <ng-template #mailTemplate>\r\n                      <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                       [smsTemplateList]=\"smsTemplateList\"\r\n                                       (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                    </div>\r\n                    <ng-template #receiverTemplate>\r\n                      <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":59,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵbz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-common-status-change-user","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.index != null}\">{{columnValueDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.index==item.index ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 ，将 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                    </div>\r\n                    <ng-template #receiverTemplate>\r\n                      <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;添加到 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnUserPopVisible\" [nzPopoverContent]=\"userTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.userColumnId}\">{{columnUserDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #userTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择用户列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnUserList\"\r\n                             [ngClass]=\"automation.userColumnId == item.id ? 'selected': ''\" (click)=\"userColumnChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 并 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                    </div>\r\n                    <ng-template #mailTemplate>\r\n                      <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                       [smsTemplateList]=\"smsTemplateList\"\r\n                                       (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":64,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":65,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"userColumnChange":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵca":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"task-new-calendar","providers":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":16,"character":14}],"template":"<div id=\"container\" style=\"display: flex;\">\r\n  <div class=\"calendar-container\" [ngStyle]=\"{'width': menuFold?'100%': containerWidth}\">\r\n    <div class=\"toolbar\">\r\n      <div class=\"nav-button\">\r\n        <span class=\"btn btn-mini btn-prev-month\" (click)=\"pre()\"><i nz-icon nzType=\"left\" nzTheme=\"outline\"></i></span>\r\n        <span class=\"calendar-title\">{{dateDisplay}}</span>\r\n        <span class=\"btn btn-mini btn-next-month\" (click)=\"next()\"><i nz-icon nzType=\"right\" nzTheme=\"outline\"></i></span>\r\n        <span class=\"btn btn-mini btn-today\" (click)=\"backToToday()\">今天</span>\r\n      </div>\r\n      <div class=\"operation-container\">\r\n        <nz-radio-group style=\"margin-right: 10px;\" [(ngModel)]=\"calendarType\" (ngModelChange)=\"calendarTypeChange()\">\r\n          <label nz-radio-button nzValue=\"day\">日</label>\r\n          <label nz-radio-button nzValue=\"week\">周</label>\r\n          <label nz-radio-button nzValue=\"month\">月</label>\r\n        </nz-radio-group>\r\n        <i *ngIf=\"!menuFold\" title=\"折叠任务列表\" style=\"font-size: 18px; cursor: pointer;\" nz-icon nzType=\"menu-unfold\" nzTheme=\"outline\" (click)=\"menuFoldChange()\"></i>\r\n        <i *ngIf=\"menuFold\" title=\"展开任务列表\" style=\"font-size: 18px; cursor: pointer;\" nz-icon nzType=\"menu-fold\" nzTheme=\"outline\" (click)=\"menuFoldChange()\"></i>\r\n      </div>\r\n    </div>\r\n    <div class=\"simple-calendar\">\r\n      <ng-container *ngIf=\"calendarType == 'month' || calendarType == 'week'\">\r\n        <div class=\"week-title\">\r\n          <div class=\"weekdays\">\r\n            <div class=\"weekday\">周一</div>\r\n            <div class=\"weekday\">周二</div>\r\n            <div class=\"weekday\">周三</div>\r\n            <div class=\"weekday\">周四</div>\r\n            <div class=\"weekday\">周五</div>\r\n            <div class=\"weekday\">周六</div>\r\n            <div class=\"weekday\">周日</div>\r\n          </div>\r\n        </div>\r\n        <div class=\"weeks\">\r\n          <div class=\"week\" [ngClass]=\"{'c-week': calendarType == 'week'}\" *ngFor=\"let week of dayList; let i = index;\">\r\n            <div class=\"days\" [ngClass]=\"{'c-week': calendarType == 'week'}\">\r\n              <div class=\"day\" [ngClass]=\"{'other-month': !day.currentMonth, 'today': day.today}\"\r\n                   [style]=\"{height: eventHeight[i] + 'px', minHeight: '158px'}\" *ngFor=\"let day of week\">\r\n                <div class=\"info\">\r\n                  <span class=\"num\">{{day.date}}</span>\r\n                  <span class=\"cn-day\"></span>\r\n                  <span class=\"add-todos\" nz-tooltip nzTooltipTitle=\"新建任务\" (click)=\"beforeAddTask(day)\">\r\n                  <i class=\"add-btn\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"events\">\r\n              <div #element class=\"todo {{todo.data['pulseId']}}\" (mouseover)=\"onMouseOver(element, todo.data['pulseId'])\" (mouseleave)=\"onMouseLeave(element, todo.data['pulseId'])\"\r\n                   *ngFor=\"let todo of eventsList[i];\" [ngStyle]=\"todo.style\" (click)=\"editTask(todo.data)\">\r\n                <div class=\"todo-wrapper\" [style.background]=\"todo.data.color\">\r\n                  <p class=\"content\">\r\n                  <span class=\"members\">\r\n                    <ng-container *ngIf=\"todo.users && todo.users.length > 0\">\r\n                      <nz-avatar *ngFor=\"let user of todo.users\" [nzSize]=\"18\" class=\"user-avatar\"\r\n                                 [style]=\"{backgroundColor: user.color? user.color: userColorMap.get(user.id)}\"\r\n                                 nz-tooltip nzTooltipTitle=\"{{user.name?user.name:''}}\"\r\n                                 nzText=\"{{user.name?user.name.substring(user.name.length - 1, user.name.length):''}}\"></nz-avatar>\r\n                    </ng-container>\r\n                  </span>\r\n                    {{todo.data.title}}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"calendarType == 'day'\">\r\n        <div class=\"week-title\">\r\n          <div class=\"weekdays\">\r\n            <div style=\"width: 100%; text-align: center; padding: 12px; font-weight: 600;\">\r\n              {{weekDayDisplay}}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"weeks\">\r\n          <div class=\"week\" style=\"height: 100%;\" *ngFor=\"let days of dayList; let i = index;\">\r\n            <div class=\"days\" style=\"height: 100%;\">\r\n              <div class=\"day\" *ngFor=\"let day of days\">\r\n                <div class=\"info\">\r\n                  <span class=\"num\">{{day.date}}</span>\r\n                  <span class=\"cn-day\"></span>\r\n                  <span class=\"add-todos\" nz-tooltip nzTooltipTitle=\"新建任务\" (click)=\"beforeAddTask(day)\">\r\n                  <i class=\"add-btn\" nz-icon nzType=\"plus\" nzTheme=\"outline\"></i>\r\n                </span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"events\">\r\n              <div #element class=\"todo {{todo.data['pulseId']}}\" (mouseover)=\"onMouseOver(element, todo.data['pulseId'])\" (mouseleave)=\"onMouseLeave(element, todo.data['pulseId'])\"\r\n                   *ngFor=\"let todo of eventsList[i];\" [ngStyle]=\"todo.style\" (click)=\"editTask(todo.data)\">\r\n                <div class=\"todo-wrapper\" [style.background]=\"todo.data.color\">\r\n                  <p class=\"content\">\r\n                  <span class=\"members\">\r\n                    <ng-container *ngIf=\"todo.users && todo.users.length > 0\">\r\n                      <nz-avatar *ngFor=\"let user of todo.users\" [nzSize]=\"18\" class=\"user-avatar\"\r\n                                 [style]=\"{backgroundColor: user.color? user.color: userColorMap.get(user.id)}\"\r\n                                 nz-tooltip nzTooltipTitle=\"{{user.name?user.name:''}}\"\r\n                                 nzText=\"{{user.name?user.name.substring(user.name.length - 1, user.name.length):''}}\"></nz-avatar>\r\n                    </ng-container>\r\n                  </span>\r\n                    {{todo.data.title}}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n  <div class=\"calendar-component-menu\" [ngStyle]=\"{'width': menuFold?'0':'400px', 'display': menuFold?'none':'block'}\">\r\n    <div class=\"calendar-component-menu-header\">\r\n      <div style=\"margin-bottom: 10px;\">\r\n        <ng-container *ngIf=\"!userColumns || userColumns.length <= 0\">\r\n          <label>该面板没有类型为 人员 的面板列</label>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"userColumns && userColumns.length > 0\">\r\n          <label>以 </label>\r\n          <label class=\"change-date-button\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"userPopVisible\"\r\n                 nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"userColumnContent\">\r\n            {{userColumn && userColumn['title']?userColumn['title']:'选择人员'}}<i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n          </label>\r\n          <label> 作为任务负责人</label>\r\n        </ng-container>\r\n      </div>\r\n      <ng-template #userColumnContent>\r\n        <div>\r\n          <div *ngFor=\"let column of userColumns\" class=\"column-list-item\" (click)=\"userColumnChange(column)\">\r\n            {{column['title']}}\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n      <div>\r\n        <ng-container *ngIf=\"!dateColumns || dateColumns.length <= 0\">\r\n          <label>该面板没有日期相关列</label>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"dateColumns && dateColumns.length > 0\">\r\n          <label>以 </label>\r\n          <label class=\"change-date-button\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"popVisible\"\r\n                 nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"dateColumnContent\">\r\n            {{dateColumn && dateColumn['title']?dateColumn['title']:'选择日期'}}<i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n          </label>\r\n          <label> 为展示顺序</label>\r\n        </ng-container>\r\n      </div>\r\n      <ng-template #dateColumnContent>\r\n        <div>\r\n          <div *ngFor=\"let column of dateColumns\" class=\"column-list-item\" (click)=\"columnChange(column)\">\r\n            {{column['title']}}\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n    </div>\r\n    <div class=\"calendar-component-menu-description\">\r\n      <div>\r\n        <label>未设置 </label>\r\n        <label class=\"change-date-button\">\r\n          {{dateColumn && dateColumn['title']?dateColumn['title']:'日期时间'}}\r\n        </label>\r\n        <label> 的任务</label>\r\n      </div>\r\n    </div>\r\n    <div class=\"calendar-component-menu-calendar\" [style.height]=\"otherContentHeight\">\r\n      <div *ngFor=\"let task of otherEvent\">\r\n        <div class=\"item-list-item-component\" [style.border-left-color]=\"task['groupColor']\">\r\n          <div style=\"width: 90%; display: flex;\">\r\n            <i style=\"font-size: 16px;\" nz-icon nzType=\"profile\" nzTheme=\"outline\"></i>\r\n            <div style=\"margin-left: 5px; width: calc(100% - 21px); text-overflow: ellipsis; overflow: hidden; white-space: nowrap;\">\r\n              {{task['title']}}\r\n            </div>\r\n          </div>\r\n          <div style=\"width: 10%;\">\r\n            <i class=\"item-list-item-component-edit\" nz-icon nzType=\"edit\" nzTheme=\"outline\" (click)=\"editTask(task)\"></i>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"calendar-component-footer\">\r\n      <button class=\"new-item-button\" (click)=\"addTaskBtnClick()\">新建任务</button>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #modalTplContent>\r\n  <div class=\"pulse-card-dialog-scrollable-wrapper\">\r\n    <div class=\"pulse-card-wrapper-component\">\r\n      <div class=\"pulse-card-component\">\r\n        <ng-container *ngFor=\"let column of this.boardColumnData\">\r\n          <ng-container [ngSwitch]=\"column.type\">\r\n            <!-- 名称列 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'name'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                </div>\r\n                标题\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <input nz-input placeholder=\"\" [(ngModel)]=\"addTaskData[column.id]\"\r\n                           (keyup.enter)=\"pulseNameChange(addTaskData[column.id])\" (blur)=\"pulseNameChange(addTaskData[column.id])\"/>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 人员列 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'multiple-person'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-duoren'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <div class=\"cell-component-value-area\" nz-popover nzPopoverTrigger=\"click\" (click)=\"getBoardUserData()\"\r\n                         [(nzPopoverVisible)]=\"column['popVisible']\" (nzPopoverVisibleChange)=\"popCellValueChange($event, column.id, addTaskData[column.id])\" [nzPopoverContent]=\"userTpl\" nzPopoverPlacement=\"bottomLeft\">\r\n                      <ng-container *ngIf=\"addTaskData[column.id] && addTaskData[column.id]['personsAndTeams']\">\r\n                        <nz-tag *ngFor=\"let person of addTaskData[column.id]['personsAndTeams']\">{{person.name}}</nz-tag>\r\n                      </ng-container>\r\n                    </div>\r\n                    <ng-template #userTpl>\r\n                      <div style=\"height: 400px;\">\r\n                        <nz-input-group [nzSuffix]=\"suffix\">\r\n                          <input #searchInput nz-input type=\"text\" placeholder=\"搜索用户\"/>\r\n                        </nz-input-group>\r\n                        <ng-template #suffix>\r\n                          <button nz-button nzType=\"primary\" nzSearch (click)=\"onMemberSearch(searchInput.value)\"><i nz-icon nzType=\"search\"></i></button>\r\n                        </ng-template>\r\n                        <div class=\"user-list-display\">\r\n                          <nz-tag class=\"user-list-display-tag\" *ngFor=\"let person of addTaskData[column.id]['personsAndTeams']; let i = index;\" nzMode=\"closeable\"\r\n                                  (click)=\"removeUser(addTaskData[column.id]['personsAndTeams'], i)\">{{person.name}}</nz-tag>\r\n                        </div>\r\n                        <div class=\"user-list\">\r\n                          <div *ngFor=\"let user of personOption\" class=\"user-list-item\" (click)=\"chooseUser(addTaskData[column.id], user)\"\r\n                               [ngClass]=\"{'selected': userSelected(addTaskData[column.id], user)}\">\r\n                            {{user['name'] + '(' + user['id'] + ')'}}\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 状态列 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'status'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <!-- 状态组件 begin -->\r\n                    <div nz-popover (click)=\"clickStatus()\" [(nzPopoverVisible)]=\"column['visible']\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\"\r\n                         class=\"status-font-color\" [style.background-color]=\"addTaskData[column.id].color\" (nzPopoverVisibleChange)=\"popCellValueChange($event, column.id, addTaskData[column.id])\"\r\n                         *ngIf=\"addTaskData[column.id]\">\r\n                      <span>{{addTaskData[column.id].label}}</span>\r\n                    </div>\r\n                    <div nz-popover (click)=\"clickStatus()\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"statusColorTemplate\" nzPopoverTrigger=\"click\"\r\n                         class=\"status-font-color\" [style.background-color]=\"'#c4c4c4'\"\r\n                         *ngIf=\"!addTaskData[column.id]\">\r\n                      <span>&nbsp;</span>\r\n                    </div>\r\n                    <ng-template #statusColorTemplate>\r\n                      <div class=\"status-picker-container\">\r\n                        <div class=\"status-picker-wrapper\" *ngIf=\"isEditVisual\" [ngStyle]=\"getStatusWidth(defaultStatus[column.id])\">\r\n                          <div class=\"status-picker-colors-view\" style=\"height:180px\">\r\n                            <div class=\"new-status-picker-color-option-viewing\" *ngFor=\"let item of defaultStatus[column.id]\">\r\n                              <div (click)=\"changeStatus(column, item)\" class=\"status-color-background\" [style.background-color]=\"item.color\">\r\n                                <div class=\"ds-text-component\">\r\n                                  <span>{{item.label}}</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"status-picker-footer-wrapper\">\r\n                            <div *ngIf=\"isEditVisual\" class=\"status-picker-footer\" (click)=\"editStatus(column)\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i> 添加/编辑 标签\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"status-picker-wrapper\" *ngIf=\"!isEditVisual\" [ngStyle]=\"getStatusWidth(statusTemp)\">\r\n                          <div class=\"status-picker-editing-wrapper\" [style.height.px]=\"statusTemp.length < 20 ? (statusTemp.length < 8 ? 250 : 250) : 200\">\r\n                            <div class=\"status-picker-colors-editing\" style=\"height:200px\">\r\n                              <div class=\"status-picker-color-option-editing\" *ngFor=\"let item of statusTemp\">\r\n                                <div class=\"status-picker-drag-handle\"><i nz-icon [nzIconfont]=\"'icon-drag'\"></i></div>\r\n                                <div class=\"status-picker-color-input-wrapper\">\r\n                                  <div class=\"color-option-box color-box-0\" [style.background-color]=\"item.color\">\r\n                                    <i nz-icon [nzIconfont]=\"'icon-diguan'\"></i>\r\n                                  </div>\r\n                                  <input class=\"status-edit-input\" [(ngModel)]=\"item.label\" nz-input type=\"text\" placeholder=\"输入标签\" />\r\n                                </div>\r\n                                <div *ngIf=\"!item.use\" (click)=\"removeStatusTag(item.index)\" nz-tooltip nzTooltipTitle=\"删除标签\" class=\"delete-status-icon-wrapper\"><i nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                                <div *ngIf=\"item.use\" nz-tooltip nzTooltipTitle=\"标签正在使用，无法删除\" class=\"delete-status-icon-wrapper\"><i style=\"cursor:not-allowed\" nz-icon nzType=\"close-circle\" nzTheme=\"fill\"></i></div>\r\n                              </div>\r\n                              <div (click)=\"addStatusTag()\" class=\"status-placeholder\" [style.display]=\"statusTemp.length < 20 ? 'block' : 'none'\">\r\n                                <div class=\"status-placeholder-background\" style=\"transition-duration: 0s;\" [style.color]=\"addTabBGColor === '#F7F7F7'?'#c4c4c4':'#fff'\" [style.background-color]=\"addTabBGColor\">\r\n                                  <span>+ 添加标签</span>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"status-change-color-wrapper\">\r\n                            <div class=\"status-change-color\" [ngClass]=\"{'open':statusTemp.length < 20}\" style=\"bottom:30px\">\r\n                              <div class=\"status-change-color-background\" [style.height.px]=\"statusDel.length > 9 ? 36 : 68\" [ngClass]=\"{'open':statusTemp.length < 20}\"></div>\r\n                              <div (click)=\"addCustomTag(item.index)\" (mouseenter)=\"mouseEnterStatus(item.color)\" (mouseleave)=\"mouseLeaveStatus()\"\r\n                                   *ngFor=\"let item of statusDel\" class=\"status-change-color-icon\"\r\n                                   [ngClass]=\"{'open':statusTemp.length < 20}\" [style.background-color]=\"item.color\"></div>\r\n                            </div>\r\n                          </div>\r\n                          <div class=\"status-picker-footer-wrapper editing\">\r\n                            <div *ngIf=\"!isEditVisual\" class=\"status-picker-footer\" (click)=\"submitEditStatus(column.id,boardId)\">\r\n                              应用\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                    <!-- 状态组件 end -->\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 文件 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'file'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon nzType=\"file\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-file [nfBoardData]=\"boardData\" [pulse]=\"pulse\" [column]=\"column\" [columnValue]=\"addTaskData[column.id]\"\r\n                             (updateFilterData)=\"updateFilterData(column.id)\"></nf-file>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 链接 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'link'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon nzType=\"link\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-link [nfBoardData]=\"boardData\" [pulse]=\"pulse\" [column]=\"column\" [columnValue]=\"addTaskData[column.id]\"\r\n                             (updateFilterData)=\"updateFilterData(column.id)\"></nf-link>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 投票 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'vote'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon nzType=\"like\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-vote [currentUser]=\"currentUser\" [nfData]=\"pulse.columnValues[column.id]\" (getData)=\"getVoteData(pulse, column.id, $event)\"></nf-vote>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 复选 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'check'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon nzType=\"like\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <div style=\"width: 60px; display: inline-block; height: 100%; text-align: center;\" (click)=\"getCheck(pulse, column.id)\">\r\n                      <i *ngIf=\"pulse.columnValues[column.id] == 'true'\" style=\"color: rgb(0, 202, 114); font-size: 18px; transform: scaleX(1.2);\" nz-icon nzType=\"check\" nzTheme=\"outline\"></i>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 日期 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'date'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <ng-container *ngIf=\"addTaskData[column.id]\">\r\n                      <nz-date-picker [(ngModel)]=\"addTaskData[column.id].date\" style=\"width: 98%;\"\r\n                                      (ngModelChange)=\"dateChange(column.id, addTaskData[column.id].date)\"></nz-date-picker>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 时间区间 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'time-interval'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <ng-container *ngIf=\"addTaskData[column.id]\">\r\n                      <nz-range-picker [(ngModel)]=\"addTaskData[column.id].date\" style=\"width: 98%;\" [nzShowTime]=\"true\" nzFormat=\"yyyy-MM-dd HH:mm\"\r\n                                      (ngModelChange)=\"timeIntervalChange(column.id, $event)\"></nz-range-picker>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 日期时间 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'date-time'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\" style=\"padding:0\">\r\n                    <ng-container *ngIf=\"addTaskData[column.id]\">\r\n                      <div style=\"width: 98%;\">\r\n                        <nf-date-time [(ngModel)]=\"addTaskData[column.id]\" (ngModelChange)=\"cellValueChange(column.id, $event)\"></nf-date-time>\r\n                      </div>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 文本 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'text'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-wenben'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <input nz-input placeholder=\"\" [(ngModel)]=\"addTaskData[column.id]\" (blur)=\"cellValueChange(column.id, addTaskData[column.id])\" />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 下拉多选 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'select'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-select'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-select [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-select>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 下拉单选 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'dropdown'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-xiala'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <nf-dropdown [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\"></nf-dropdown>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 进度 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'progress'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-jindutiao'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <div class=\"calendar-view\">\r\n                      <nz-progress [nzPercent]=\"addProgressValue\" nzStatus=\"active\"></nz-progress>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <!-- 按钮 -->\r\n            <div class=\"pulse-card-cell-wrapper\" *ngSwitchCase=\"'button'\">\r\n              <div class=\"column-title\">\r\n                <div class=\"column-icon\">\r\n                  <i nz-icon [nzIconfont]=\"'icon-jindutiao'\"></i>\r\n                </div>\r\n                {{column.title}}\r\n              </div>\r\n              <div class=\"pulse-card-cell-wrapper-component\">\r\n                <div class=\"cell-wrapper\">\r\n                  <div class=\"cell-component\">\r\n                    <ng-container *ngIf=\"column.config && column.config.relation === '0'\">\r\n                      <ng-container *ngFor=\"let button of column.config.original\">\r\n                        <button (click)=\"buttonCustomClick(column, pulse)\" [nzLoading]=\"clickButtonLoading\"\r\n                                *ngIf=\"pulse.columnValues[column.id] && button.id == pulse.columnValues[column.id].original\"\r\n                                [nzSize]=\"'small'\" nz-button [nzType]=\"button.type\" [disabled]=\"!button.usable\">{{button.title}}</button>\r\n                      </ng-container>\r\n                      <span style=\"position: absolute; right: 10px; font-size: 14px;\"\r\n                            class=\"button-pulse-config-icon\"\r\n                            nz-popover\r\n                            nzPopoverTrigger=\"click\"\r\n                            nzPopoverPlacement=\"leftBottom\"\r\n                            (click)=\"openButtonConfig(pulse.id, column)\"\r\n                            [nzPopoverContent]=\"buttonTemplate\"><i nz-icon [nzIconfont]=\"'icon-peizhi'\"></i></span>\r\n                      <ng-template #buttonTemplate>\r\n                        <div class=\"button-config-wrapper\">\r\n                          <div class=\"button-config_select\">\r\n                            <div class=\"button-config_select-radio\" *ngIf=\"buttonConfigStatus\">\r\n                              <div class=\"button-config_select-title\">选择显示的按钮：</div>\r\n                              <nz-radio-group (ngModelChange)=\"buttonSelectChange($event, pulse.id, column)\" [(ngModel)]=\"pulse.columnValues[column.id].original\" style=\"width:100%\">\r\n                                <label style=\"width:100%;margin-bottom:5px\" *ngFor=\"let item of column.config.original\" nz-radio [nzValue]=\"item.id\">\r\n                                  {{item.title}}\r\n                                  <span class=\"button-config_select-radio-edit\">\r\n                                    <i (click)=\"editButtonConfig(item)\" nz-tooltip nzTooltipTitle=\"编辑\" nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                                  </span>\r\n                                  <span class=\"button-config_select-radio-remove\">\r\n                                    <ng-container *ngIf=\"item.notRemove\">\r\n                                      <i style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"按钮已经使用，无法删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                    </ng-container>\r\n                                    <ng-container *ngIf=\"!item.notRemove\">\r\n                                      <i (click)=\"removeButtonConfig(item.id, column)\" nz-tooltip nzTooltipTitle=\"删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                    </ng-container>\r\n                                  </span>\r\n                                </label>\r\n                              </nz-radio-group>\r\n                            </div>\r\n                            <div class=\"button-config_select-add\" *ngIf=\"!buttonConfigStatus\">\r\n                              <nz-form-item>\r\n                                <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigTitle\">按钮名称：</nz-form-label>\r\n                                <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                  <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigTitle\" />\r\n                                </nz-form-control>\r\n                              </nz-form-item>\r\n                              <nz-form-item>\r\n                                <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否可用：</nz-form-label>\r\n                                <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                  <nz-switch (ngModelChange)=\"buttonConfigChange($event)\" [ngModel]=\"buttonConfigDisabled\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                </nz-form-control>\r\n                              </nz-form-item>\r\n                              <nz-form-item>\r\n                                <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigUrl\">请求地址：</nz-form-label>\r\n                                <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                  <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigUrl\" />\r\n                                </nz-form-control>\r\n                              </nz-form-item>\r\n                            </div>\r\n                            <div style=\"margin:10px 0 5px 0;\"><nz-divider></nz-divider></div>\r\n                            <div class=\"button-config_edit-status\" (click)=\"buttonConfigAdd()\" *ngIf=\"buttonConfigStatus\"><div>新增</div></div>\r\n                            <div class=\"button-config_edit-status\" (click)=\"buttonConfigSubmit(buttonConfigEditStatus?'edit':'add', column)\" *ngIf=\"!buttonConfigStatus\"><div>提交</div></div>\r\n                          </div>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #chooseGroupContent>\r\n  <div style=\"padding: 8px;\">\r\n    <nz-select style=\"width: 100%;\" required [(ngModel)]=\"group\" nzPlaceHolder=\"请选择分组\">\r\n      <nz-option *ngFor=\"let g of boardGroupData\" [nzValue]=\"g\" [nzLabel]=\"g.title\"></nz-option>\r\n    </nz-select>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #tplFooter>\r\n  <button nz-button nzType=\"primary\" (click)=\"tplModalSubmit()\">确定</button>\r\n</ng-template>\r\n","styles":[".calendar-fullscreen-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;flex-grow:1;height:100%;position:relative;user-select:none}::ng-deep table{border-spacing:0}::ng-deep .ant-fullcalendar-fullscreen .ant-fullcalendar-table{border:solid #e6e9ef;border-width:1px 0}::ng-deep .ant-fullcalendar-date{border-top:none!important;margin:0!important}::ng-deep .ant-fullcalendar td{border:1px solid #e6e9ef}::ng-deep .ant-fullcalendar-fullscreen .ant-fullcalendar-column-header{border:solid #e6e9ef;border-width:0 1px;padding-top:5px}::ng-deep .ant-fullcalendar-column-header .ant-fullcalendar-column-header-inner{font-weight:600}::ng-deep .ant-fullcalendar-value{font-size:16px}::ng-deep .ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-value{font-weight:600}.calendar_no_task{height:80px;line-height:70px;text-align:center}.calendar_no_task_sec{margin-top:10px;text-align:center}.calendar_no_task_sec a,.calendar_no_task a{display:block;text-indent:-999px}.calendar_no_task:hover a,.calendar_no_task_sec:hover a{text-indent:0}.pulse-card-dialog-scrollable-wrapper{flex:1;overflow:auto;padding:0 0 12px}.pulse-card-header{display:flex;flex-direction:column;flex-shrink:0;position:relative}.pulse-card-header .pulse-name-value{color:#333;flex:1;font-size:24px;font-weight:700;overflow:hidden}.pulse-card-wrapper-component{padding-top:20px}.pulse-card-component{flex-grow:1;line-height:40px;margin-top:20px;max-height:540px;overflow-y:auto;width:100%}.pulse-card-component .pulse-card-cell-wrapper{display:flex;margin:0 auto 8px}.pulse-card-component .pulse-card-cell-wrapper .column-title{align-items:center;display:flex;padding-left:20px;width:120px}.column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-title{cursor:text}.pulse-card-cell-wrapper-component .cell-wrapper{padding-left:16px}.pulse-card-cell-wrapper-component .cell-wrapper>div{background-color:#f0f0f0}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap}.cell-component-value-area{min-height:40px;overflow-x:auto;width:100%}.pulse-card-cell-wrapper-component .cell-wrapper>div:not(.dialog-node){min-height:40px;padding:0 3px;width:300px}.column-icon i{font-size:19px;margin-right:3px;vertical-align:middle}::ng-deep .pulse-card-component .ant-select-selection{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:0}::ng-deep .pulse-card-component .ant-select-selection__clear{background:#f0f0f0}::ng-deep .pulse-card-component .ant-input{background-color:#f0f0f0;border:1px solid #f0f0f0;border-radius:0}::ng-deep .pulse-card-component .ant-calendar-picker{width:298px}.calendar-view{padding:0 5px}.status-font-color{color:#fff;cursor:pointer;min-height:32px}.new-status-picker-dialog-wrapper .status-picker-container{display:flex;justify-content:center}.status-picker-container{width:100%}.status-picker-wrapper{border-radius:4px;font-size:13px;height:100%;pointer-events:all;position:relative;transition:width .1s}.status-picker-wrapper:before{border-bottom-color:#c4c4c4;border-width:10px;right:50%;transform:translateX(50%)}.status-picker-wrapper:after,.status-picker-wrapper:before{border:solid transparent;bottom:100%;content:\" \";height:0;pointer-events:none;position:absolute;width:0}.status-picker-wrapper:after{border-bottom-color:#fff;border-width:8px;right:50%;transform:translateX(50%)}.status-picker-wrapper .status-picker-colors-view{align-content:space-between;padding-left:16px;padding-right:16px}.new-status-picker-color-option-viewing{-ms-grid-row-align:inherit;align-self:auto;border-radius:2px;color:#fff;cursor:pointer;flex:0 0 32px;font-weight:400;height:32px;line-height:32px;margin-bottom:8px;margin-right:8px;position:relative;text-align:center;transition:transform .1s ease-in-out,opacity .1s ease-in-out;width:134px}.new-status-picker-color-option-viewing .status-color-background{height:32px;line-height:32px;text-align:center;width:100%}.status-color-background:hover{opacity:.8}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.status-picker-wrapper .status-picker-footer-wrapper{flex:0 0 auto;height:30px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-top:2px solid #f1f1f1;color:#009aff;cursor:pointer;font-size:13px;height:40px;line-height:40px;position:relative;text-align:center;top:-3px;transition:color .1s;user-select:none}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer i{font-size:18px;margin-right:5px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer:hover{background:#009aff;color:#fff}.status-picker-wrapper .status-picker-editing-wrapper{transition:height .15s ease}.status-picker-wrapper .status-picker-colors-editing{align-content:flex-start}.status-picker-color-option-editing{-moz-user-select:none;-ms-grid-row-align:auto;-ms-user-select:none;-webkit-user-select:none;align-self:auto;border-radius:2px;display:flex;flex:0 0 40px;font-weight:400;height:40px;line-height:32px;position:relative;text-align:center;user-select:none;width:130px}.status-picker-color-option-editing .status-picker-drag-handle{color:#c4c4c4;cursor:move;flex:0 0 12px;padding:1px 2px 0 0}.status-picker-color-option-editing .status-picker-color-input-wrapper{border-radius:2px;display:flex;flex:0 0 104px;height:32px;width:104px}.status-picker-color-option-editing .status-picker-color-input-wrapper .color-option-box{border:1px solid transparent;border-radius:2px 0 0 2px;border-right-width:0;flex:0 0 16px;height:100%;padding-right:1px;width:18px}.status-picker-wrapper .status-picker-colors-editing,.status-picker-wrapper .status-picker-colors-view{align-items:flex-start;display:flex;flex:1 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;min-width:0;overflow:hidden;padding:7px 8px 0 2px;width:100%}.status-picker-color-option-editing .color-option-box:not(.is-disabled){cursor:pointer}.status-picker-color-option-editing .color-option-box{color:#fff;flex:0 0 16px;font-size:16px}.delete-status-icon-wrapper{cursor:pointer}.delete-status-icon-wrapper i{color:rgba(0,0,0,.1)}.delete-status-icon-wrapper:hover i{color:rgba(0,0,0,.8)}.color-option-box i,.delete-status-icon-wrapper i,.status-picker-drag-handle i{visibility:hidden}.status-picker-color-option-editing:hover .color-option-box i,.status-picker-color-option-editing:hover .delete-status-icon-wrapper i,.status-picker-color-option-editing:hover .status-picker-drag-handle i{visibility:visible}.delete-status-icon-wrapper{margin-left:3px}::ng-deep .status-edit-input.ant-input{background:#f7f7f7;border-left:none;border-radius:0 2px 2px 0}.status-change-color-wrapper .status-change-color{align-content:flex-start;align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:4px;position:absolute;transform:scaleY(0);transition:transform .15s ease;width:100%;z-index:1}.status-change-color-icon{border:1px solid #fff;border-radius:50%;cursor:pointer;height:20px;margin:4px;position:relative;transform:scale(0);transition:transform .15s ease;width:20px}.status-change-color-wrapper .status-change-color .status-change-color-background{background-color:#f7f7f7;border-bottom:2px solid #f1f1f1;border-top:2px solid #f1f1f1;height:36px;left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:center bottom;transition:transform .15s ease;width:100%}.status-change-color-wrapper .status-change-color.open,.status-change-color-wrapper .status-change-color .status-change-color-background.open{transform:scaleY(1)}.status-change-color-icon.open{transform:scale(1)}.status-change-color-icon.open:hover{box-shadow:0 1px 8px -2px #000;transform:scale(1.2)}.status-placeholder{cursor:pointer}.status-placeholder .status-placeholder-background{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;border:1px dashed #c4c4c4;border-radius:2px;color:#c4c4c4;display:flex;font-size:12px;height:32px;justify-content:center;margin:0 12px 0 15px;transition:background-color .2s ease-in;user-select:none;width:104px}::ng-deep .cell-wrapper .ant-calendar-picker-clear{background:#f0f0f0}.calendar-event{background-image:linear-gradient(180deg,#ba87e5,#a25ddc);border-radius:10px;color:#000;height:21px;margin:4px 5px auto;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.switch-today{position:absolute;right:300px;top:11px}.header-field-fullscreen-component{width:30%}.header-buttons-fullscreen-component{display:flex;height:28px}.header-button{align-items:center;border-radius:16px;color:#1c1f3b;display:flex;justify-content:center;margin-right:5px;min-width:60px}.header-button.active{background-color:#e5f4ff;color:#009aff}.header-button:hover:not(.active){background-color:#edeef0}.header-menu{padding-right:10px;text-align:right;width:10%}.header-menu i{border-radius:10px;font-size:20px;padding:4px}.header-menu i:hover{background-color:#edeef0}.calendar-component-header{border-bottom:1px solid #e6e9ef;display:flex;margin-left:12px}.calendar-component-content{width:100%}.calendar-component-menu{border-left:1px solid #f1f1f1;min-width:0;transition:all .5s ease-in-out}.calendar-component-menu-header{border-bottom:1px solid #f1f1f1;height:90px;padding:16px}.calendar-component-menu-description{height:50px;padding:16px}.calendar-component-menu-calendar{overflow-y:auto;padding:5px}.calendar-component-footer{height:40px;text-align:center}.header-button-area{display:flex;width:60%}.header-today-button{background-color:transparent;border:1px solid #edeef0;border-radius:20px;color:#1c1f3b;cursor:pointer;display:block;font-size:13px;height:30px;margin-left:20px;padding:4px 16px;text-decoration:none;transition:background-color .1s ease-in,color .1s ease-in;width:70px}.header-today-button:hover{background-color:#e5f4ff;border:1px solid #edeef0;color:#009aff}.header-change-day-button{border-radius:24px;height:32px;line-height:32px;margin-left:5px;transition:background-color .3s ease-in-out;width:32px}.header-change-day-button:hover{background-color:#edeef0}.header-day-description{font-size:16px;line-height:32px;margin-left:24px}.new-item-button{background-color:transparent;border-color:transparent;border-radius:20px;color:#009aff;font-weight:400;outline:none;padding:.641rem 2rem}.new-item-button:hover{background-color:#edeef0;color:#000}.change-date-button{font-size:14px;font-weight:600}.change-date-button:hover{color:#009aff}.column-list-item,.column-list-item-disabled{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:36px;padding-left:8px;padding-right:8px;width:200px}.column-list-item:hover{background:#f1f1f1}.item-list-item-component{align-items:center;border:1px solid #e1e1e1;border-left:4px solid;border-radius:4px;display:flex;height:40px;margin-bottom:8px;margin-right:16px;padding-left:8px}.item-list-item-component-edit{display:none;font-size:16px}.item-list-item-component-edit:hover{color:#009aff}.item-list-item-component:hover .item-list-item-component-edit{display:block}.user-list-display{max-height:60px;max-width:275px;min-height:30px;overflow-y:auto}.user-list-display-tag{margin-top:5px}.user-list{max-height:310px;overflow-y:auto;padding:5px;width:275px}.user-list-item{border-radius:5px;padding:5px 8px}.user-list .selected{background-color:#009aff;color:#fff}.user-list-item:hover:not(.selected){background-color:#f1f1f1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.day-component-wrapper-task-left{background-color:#f1f1f1;border-radius:4px;font-weight:600;height:30px;line-height:30px;margin-bottom:2px;margin-left:3px;padding:2px 5px;text-align:center;width:10%}.day-component-wrapper-task-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-component-wrapper-task-right{background-color:#f2f2f2;border-radius:4px;cursor:pointer;height:30px;line-height:30px;margin-bottom:2px;margin-left:3px;margin-right:3px;padding:2px 5px;text-align:center;width:90%}.day-component-wrapper-task-add{border-radius:4px;height:25px;line-height:25px;margin:3px}.day-component-wrapper-task-add:hover{background-color:#c7e6fa;color:#009aff}.day-component-wrapper-task-add:hover:after{align-items:center;border-radius:2px;bottom:0;content:\"+ 新增\";display:flex;height:100%;justify-content:center;left:0;margin:auto;right:0;top:0;width:100%}.calendar-container{display:block;height:100%}.toolbar{box-sizing:border-box;height:56px;justify-content:space-between;padding:14px 24px}.nav-button,.operation-container,.toolbar{align-items:center;display:flex}.toolbar .nav-button .btn-mini{color:#999;margin:0;padding:5px 4px}.btn{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:padding-box;background-color:#44acb6;border:1px solid #44acb6;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin:0 10px 0 0;outline-color:#44acb6;padding:6px 10px;user-select:none}.btn.btn-mini{background-color:#fff;border:1px solid #ccc;color:#000;line-height:1.2;padding:6px 12px}.toolbar .nav-button .btn-mini .twr{font-size:12px}.twr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font:normal normal normal 14px/1 Tower;font-size:inherit;text-rendering:auto}.toolbar .nav-button .calendar-title{color:#333;font-size:20px;font-weight:400;line-height:24px;margin:0 8px}.toolbar .nav-button .btn-today{color:#555;font-size:14px;font-weight:600;line-height:20px;margin-left:16px;padding:3px 10px}.simple-calendar{padding:0 24px}.simple-calendar .week-title{display:table;table-layout:fixed;width:100%}.simple-calendar .week-title .weekdays{display:table-row}.simple-calendar .week-title .weekdays .weekday{border-bottom:2px solid #efefef}.simple-calendar .week-title .weekday{border-bottom:2px solid #ccc;color:#777;display:table-cell;font-size:12px;height:12px;line-height:1;padding:12px;width:14.286%}.simple-calendar .week-title+.weeks{height:calc(100vh - 256px);overflow:auto}.simple-calendar .weeks .week{border-bottom:2px solid #efefef;display:table;position:relative;table-layout:fixed;width:100%}.simple-calendar .weeks .week .days{cursor:default!important;display:table-row}.simple-calendar .weeks .week .events{left:0;position:absolute;top:48px;width:100%}.simple-calendar .todo{color:#000!important;margin:0;padding:0}.simple-calendar .weeks .week .events .todo{cursor:pointer;margin:0;overflow:hidden;position:absolute;text-overflow:ellipsis;white-space:nowrap}.simple-calendar .todo .todo-wrapper{align-items:center;background:#d2ebed;border:1px solid rgba(0,0,0,.04);border-radius:4px;box-sizing:border-box;display:flex;height:24px;margin:0 4px;overflow:hidden;position:relative}.simple-calendar .todo .todo-wrapper:before{background-color:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04);border-radius:4px;content:\"\";height:100%;left:-1px;opacity:0;pointer-events:none;position:absolute;top:-1px;width:100%}.simple-calendar .todo.hover .todo-wrapper:before{background-color:rgba(0,0,0,.12);opacity:1}.simple-calendar .todo:hover .cb-done{margin-left:0;transition:margin-left .3s}.simple-calendar .todo .todo-wrapper .cb-done{bottom:auto;cursor:pointer;left:auto;margin-left:-24px;position:absolute;top:auto;transition:margin-left .3s}.simple-calendar .weeks .week .events .todo .cb-done{bottom:0;font-size:12px;left:8px;margin:auto;position:absolute;top:0}.simple-calendar .todo .todo-wrapper .content{color:#000!important;line-height:24px;margin-left:0;overflow:hidden;padding:0;text-overflow:ellipsis;transition:margin-left .3s;white-space:nowrap}.simple-calendar .events .todo .content{color:#555}.simple-calendar .weeks .week .events .todo .content{color:#fff;font-size:12px;line-height:24px;margin:0;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.simple-calendar .todo .todo-wrapper .content .members{align-items:center;display:inline-flex;height:24px}.simple-calendar .todo .members{display:inline-block;height:16px;vertical-align:top}.simple-calendar .weeks .week .events .todo .todo-wrapper{background-color:#ccc;border-radius:2px;height:24px;margin:0 2px}.simple-calendar .weeks .week .days .day{border-right:2px solid #efefef;display:table-cell;height:158px;padding:0 0 20px;vertical-align:top;width:14.286%}.simple-calendar .weeks .week .days .day.other-month .info{opacity:1}.simple-calendar .weeks .week .days .day .info{font-family:-apple-system,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,Segoe UI,Roboto,sans-serif;position:relative}.simple-calendar .days .day .info{align-items:center;display:flex}.simple-calendar .other-month .info{color:#000;opacity:1}.simple-calendar .weeks .week .days .day.other-month .info{color:#ccc}.simple-calendar .weeks .week .days .day .info{color:#000;font:normal 700 24px/1 Calibri;height:24px;padding:12px 8px}.simple-calendar .weeks .week .days .day.other-month .info .cn-day,.simple-calendar .weeks .week .days .day.other-month .info .num{opacity:1}.simple-calendar .weeks .week .days .day .info .num{font-size:18px;font-weight:400;line-height:18px}.simple-calendar .weeks .week .days .day .info .cn-day{color:#999;display:none;line-height:16px}.simple-calendar.calendar-show-lunar-calendar .days .info .cn-day{display:block!important}.simple-calendar .cn-day{font-size:12px;font-weight:400;margin-left:4px}.simple-calendar .weeks .week .days .day .info .add-todos{align-items:center;background:#fff;border:1px solid #e3e3e3;border-radius:16px;cursor:pointer;display:none;height:22px;justify-content:center;position:absolute;right:8px;top:8px;width:22px}.simple-calendar .weeks .week .days .day .info .add-todos:hover{background:#f6f6f6}.simple-calendar .weeks .week .days .day .info .add-todos .add-btn{color:#777;font-size:12px}.simple-calendar .weeks .week .days .day:hover .info .add-todos{display:inline-flex}.simple-calendar .day.today{background-color:#fff6c2}.c-week{height:100%}.user-avatar:hover{transform:scale(1.3)}::ng-deep .custom-modal .ant-modal-close{color:#000!important}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3},"arguments":["nfData"]}]}],"modalTplContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":97,"character":3},"arguments":["modalTplContent",{"static":true}]}]}],"chooseGroupContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":98,"character":3},"arguments":["chooseGroupContent",{"static":true}]}]}],"tplFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":99,"character":3},"arguments":["tplFooter",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":102,"character":22},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":104,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":105,"character":21},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":107,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"pre":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"preMonth":[{"__symbolic":"method"}],"nextMonth":[{"__symbolic":"method"}],"preWeek":[{"__symbolic":"method"}],"nextWeek":[{"__symbolic":"method"}],"preDate":[{"__symbolic":"method"}],"nextDate":[{"__symbolic":"method"}],"backToToday":[{"__symbolic":"method"}],"calendarTypeChange":[{"__symbolic":"method"}],"generateMonthList":[{"__symbolic":"method"}],"generateWeekList":[{"__symbolic":"method"}],"generateDayList":[{"__symbolic":"method"}],"handleTask":[{"__symbolic":"method"}],"sortAndCalculatePos":[{"__symbolic":"method"}],"isLeapYear":[{"__symbolic":"method"}],"getMonthCount":[{"__symbolic":"method"}],"getWeekday":[{"__symbolic":"method"}],"getPreMonthCount":[{"__symbolic":"method"}],"getNextMonthCount":[{"__symbolic":"method"}],"getWeekDay":[{"__symbolic":"method"}],"menuFoldChange":[{"__symbolic":"method"}],"generateGroupMap":[{"__symbolic":"method"}],"handleColumn":[{"__symbolic":"method"}],"getCalendarEvent":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"onMouseOver":[{"__symbolic":"method"}],"onMouseLeave":[{"__symbolic":"method"}],"handleTaskUser":[{"__symbolic":"method"}],"userColumnChange":[{"__symbolic":"method"}],"columnChange":[{"__symbolic":"method"}],"addTaskBtnClick":[{"__symbolic":"method"}],"beforeAddTask":[{"__symbolic":"method"}],"addTask":[{"__symbolic":"method"}],"updateFilterData":[{"__symbolic":"method"}],"getVoteData":[{"__symbolic":"method"}],"getCheck":[{"__symbolic":"method"}],"editTask":[{"__symbolic":"method"}],"getBoardUserData":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"chooseUser":[{"__symbolic":"method"}],"removeUser":[{"__symbolic":"method"}],"userSelected":[{"__symbolic":"method"}],"clickStatus":[{"__symbolic":"method"}],"getStatusWidth":[{"__symbolic":"method"}],"changeStatus":[{"__symbolic":"method"}],"editStatus":[{"__symbolic":"method"}],"removeStatusTag":[{"__symbolic":"method"}],"addStatusTag":[{"__symbolic":"method"}],"addCustomTag":[{"__symbolic":"method"}],"mouseEnterStatus":[{"__symbolic":"method"}],"mouseLeaveStatus":[{"__symbolic":"method"}],"submitEditStatus":[{"__symbolic":"method"}],"timeIntervalChange":[{"__symbolic":"method"}],"dateChange":[{"__symbolic":"method"}],"cellValueChange":[{"__symbolic":"method"}],"pulseNameChange":[{"__symbolic":"method"}],"tplModalSubmit":[{"__symbolic":"method"}],"popCellValueChange":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"openButtonConfig":[{"__symbolic":"method"}],"getButtonUserIds":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"editButtonConfig":[{"__symbolic":"method"}],"removeButtonConfig":[{"__symbolic":"method"}],"buttonConfigChange":[{"__symbolic":"method"}],"buttonConfigAdd":[{"__symbolic":"method"}],"buttonConfigSubmit":[{"__symbolic":"method"}],"getMaxId":[{"__symbolic":"method"}]}},"ɵcb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-time-interval","template":"<p>time-interval works!</p>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵcc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-member","template":"<div class=\"pulse_members_wrapper_main_content\">\r\n  <div class=\"invite_members_wrapper\">\r\n    <nz-select\r\n      style=\"width:100%\"\r\n      [(ngModel)]=\"selectedMember\"\r\n      (ngModelChange)=\"selectedMemberChange()\"\r\n      (nzScrollToBottom)=\"loadMore()\"\r\n      nzPlaceHolder=\"选择成员\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      [nzDropdownRender]=\"renderTemplate\">\r\n      <nz-option *ngFor=\"let o of userList\" [nzValue]=\"o\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n  </div>\r\n  <div class=\"pulse_members_list\">\r\n    <ul class=\"pulse_members\" *ngIf=\"memberList.length > 0\">\r\n      <li class=\"pulse_member\" *ngFor=\"let item of memberList; let i = index;\">\r\n        <div class=\"user-name-details-container\">\r\n          <div class=\"user-name-wrapper\">\r\n            <div class=\"member_profile_image_container\">\r\n              <img src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2MDMzMDM0MTI5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjkzNzkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDEyNTUuNDg5OTA2IiBwLWlkPSI5MzgwIiBmaWxsPSIjNzA3MDcwIj48L3BhdGg+PHBhdGggZD0iTTkwNS4xODQ4ODkgMzM0LjEzNTUxOWMtMjEuNDkxMTA1LTUwLjg2MjI4My01Mi4yOTUwMjMtOTYuNTA1Mjk3LTkxLjQ5MDcwNi0xMzUuNTk4NjQxLTM5LjE5NTY4My0zOS4xOTU2ODMtODQuODM4Njk3LTY5Ljk5OTYtMTM1LjU5ODY0MS05MS40OTA3MDYtNTIuNjAyMDM5LTIyLjMwOTgxNC0xMDguNDc4OTEzLTMzLjU2NzA2LTE2Ni4wOTU1NDMtMzMuNTY3MDZzLTExMy40OTM1MDQgMTEuMjU3MjQ2LTE2Ni4wOTU1NDMgMzMuNTY3MDZjLTUwLjg2MjI4MyAyMS40OTExMDUtOTYuNTA1Mjk3IDUyLjI5NTAyMy0xMzUuNTk4NjQxIDkxLjQ5MDcwNnMtNjkuOTk5NiA4NC44Mzg2OTctOTEuNDkwNzA2IDEzNS41OTg2NDFjLTIyLjMwOTgxNCA1Mi42MDIwMzktMzMuNTY3MDYgMTA4LjQ3ODkxMy0zMy41NjcwNiAxNjYuMDk1NTQzczExLjI1NzI0NiAxMTMuNDkzNTA0IDMzLjU2NzA2IDE2Ni4wOTU1NDNjMjEuNDkxMTA1IDUwLjg2MjI4MyA1Mi4yOTUwMjMgOTYuNTA1Mjk3IDkxLjQ5MDcwNiAxMzUuNTk4NjQxIDM5LjE5NTY4MyAzOS4xOTU2ODMgODQuODM4Njk3IDY5Ljk5OTYgMTM1LjU5ODY0MSA5MS40OTA3MDYgNTIuNjAyMDM5IDIyLjMwOTgxNCAxMDguNDc4OTEzIDMzLjU2NzA2IDE2Ni4wOTU1NDMgMzMuNTY3MDZzMTEzLjQ5MzUwNC0xMS4yNTcyNDYgMTY2LjA5NTU0My0zMy41NjcwNmM1MC44NjIyODMtMjEuNDkxMTA1IDk2LjUwNTI5Ny01Mi4yOTUwMjMgMTM1LjU5ODY0MS05MS40OTA3MDYgMzkuMTk1NjgzLTM5LjE5NTY4MyA2OS45OTk2LTg0LjgzODY5NyA5MS40OTA3MDYtMTM1LjU5ODY0MSAyMi4zMDk4MTQtNTIuNjAyMDM5IDMzLjU2NzA2LTEwOC40Nzg5MTMgMzMuNTY3MDYtMTY2LjA5NTU0M1M5MjcuNDk0NzAzIDM4Ni43Mzc1NTcgOTA1LjE4NDg4OSAzMzQuMTM1NTE5ek01MTIgODgxLjk1NDAyOGMtOTEuMDgxMzUxIDAtMTc0Ljc5NDMyMy0zMi4wMzE5ODEtMjQwLjM5MzM2NC04NS40NTI3MjggMi45Njc4MTktMTMwLjA3MjM1NyAxMDkuNzA2OTc2LTIzNC44NjcwOCAyNDAuMzkzMzY0LTIzNC44NjcwOHMyMzcuNDI1NTQ1IDEwNC44OTcwNjIgMjQwLjM5MzM2NCAyMzQuODY3MDhDNjg2Ljc5NDMyMyA4NDkuOTIyMDQ3IDYwMy4wODEzNTEgODgxLjk1NDAyOCA1MTIgODgxLjk1NDAyOHpNNDA0LjU0NDQ3MyA0MjEuNDMwMzQyYzAtNTkuMjU0MDQ4IDQ4LjIwMTQ3OS0xMDcuNDU1NTI3IDEwNy40NTU1MjctMTA3LjQ1NTUyNyA1OS4yNTQwNDggMCAxMDcuNDU1NTI3IDQ4LjIwMTQ3OSAxMDcuNDU1NTI3IDEwNy40NTU1MjcgMCA1OS4yNTQwNDgtNDguMjAxNDc5IDEwNy40NTU1MjctMTA3LjQ1NTUyNyAxMDcuNDU1NTI3QzQ1Mi43NDU5NTIgNTI4Ljg4NTg2OCA0MDQuNTQ0NDczIDQ4MC42ODQzODkgNDA0LjU0NDQ3MyA0MjEuNDMwMzQyek03ODEuMzU1MTg3IDc3MC41MDcyOTZjLTYuOTU5MDI1LTYwLjQ4MjExMS0zMy44NzQwNzYtMTE2LjM1ODk4NS03Ny41NzI2NTYtMTYwLjA1NzU2NS0zNC4xODEwOTEtMzQuMTgxMDkxLTc1LjgzMjktNTguMDI1OTg0LTEyMS4xNjg4OTktNzAuMjA0Mjc3IDQwLjQyMzc0Ni0yNC4xNTE5MDkgNjcuNjQ1ODEzLTY4LjM2MjE4MyA2Ny42NDU4MTMtMTE4LjcxMjc3MiAwLTc2LjEzOTkxNi02Mi4wMTcxOS0xMzguMTU3MTA2LTEzOC4xNTcxMDYtMTM4LjE1NzEwNi03Ni4xMzk5MTYgMC0xMzguMTU3MTA2IDYyLjAxNzE5LTEzOC4xNTcxMDYgMTM4LjE1NzEwNiAwIDUwLjQ1MjkyOCAyNy4xMTk3MjggOTQuNjYzMjAyIDY3LjY0NTgxMyAxMTguNzEyNzcyLTQ1LjQzODMzNyAxMi4xNzgyOTMtODcuMDkwMTQ2IDM2LjAyMzE4Ni0xMjEuMTY4ODk5IDcwLjIwNDI3Ny00My42OTg1ODEgNDMuNjk4NTgxLTcwLjYxMzYzMiA5OS42Nzc3OTMtNzcuNTcyNjU2IDE2MC4wNTc1NjUtNjkuMzg1NTY5LTY5LjE4MDg5MS0xMTIuMzY3Nzc5LTE2NC43NjUxNDEtMTEyLjM2Nzc3OS0yNzAuMTczODk2IDAtMjEwLjUxMDQ5NCAxNzEuMjEyNDczLTM4MS43MjI5NjYgMzgxLjcyMjk2Ni0zODEuNzIyOTY2IDIxMC41MTA0OTQgMCAzODEuNzIyOTY2IDE3MS4yMTI0NzMgMzgxLjcyMjk2NiAzODEuNzIyOTY2Qzg5My43MjI5NjYgNjA1Ljc0MjE1NSA4NTAuNzQwNzU2IDcwMS4zMjY0MDQgNzgxLjM1NTE4NyA3NzAuNTA3Mjk2eiIgcC1pZD0iOTM4MSIgZmlsbD0iIzcwNzA3MCI+PC9wYXRoPjwvc3ZnPg==\" class=\"person-bullet-image person-bullet-component members-list-profile-image\">\r\n            </div>\r\n            <div class=\"user_details\">\r\n              <div class=\"user_details_info\">\r\n                <span class=\"user_details_name_title\" *ngIf=\"item.name\">\r\n                  {{item.name + '(' + item.id + ')'}}\r\n                </span>\r\n                <span class=\"user_details_name_title\" *ngIf=\"!item.name\">\r\n                  {{item.id}}\r\n                </span>\r\n                <span class=\"operation\">\r\n                  <i nz-icon nzType=\"delete\" nz-tooltip=\"删除\" (click)=\"removeMember(i)\"></i>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </li>\r\n    </ul>\r\n    <nz-empty *ngIf=\"userList.length == 0\"></nz-empty>\r\n  </div>\r\n</div>\r\n","styles":[".pulse_members_wrapper_main_content{position:relative;width:100%}.pulse_members_wrapper_main_content .title.member_list_title{font-size:16px;font-weight:400;margin:20px 0 0}.pulse_members_list{display:block;height:300px;margin:8px 0;overflow-y:auto}.pulse_members{display:block}.pulse_members_wrapper_main_content.private .pulse_members,.pulse_members_wrapper_main_content.public .pulse_members{max-height:340px}.pulse_members li.pulse_member{align-items:center;display:flex;height:45px;justify-content:space-between;margin-right:8px;position:relative}.pulse_members li.pulse_member .user-name-details-container{align-items:center;display:flex;justify-content:space-between;width:100%}.pulse_members li.pulse_member .user-name-details-container .user-name-wrapper{align-items:center;display:flex;flex-direction:row;width:70%}.pulse_members li.pulse_member .user-name-details-container .member_profile_image_container{align-items:center;display:flex;margin-right:4px}.person-bullet-component{border-radius:50%;display:flex;flex-shrink:0;height:25px;position:relative;width:25px}.pulse_members li.pulse_member .members-list-profile-image{height:30px;margin-right:4px;width:30px}.pulse_members li.pulse_member .user_details{align-items:center;color:#b0b0b0;display:flex;justify-content:space-between;margin-left:5px;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;width:380px}.pulse_members li.pulse_member .user_details .user_details_info{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.pulse_members li.pulse_member .user_details .user_details_info .user_details_name_title{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse_members li.pulse_member .user_details .user_details_info .operation{font-size:16px;position:absolute;right:15px}.pulse_members li.pulse_member .user_details .user_details_info .operation:hover{color:red;transform:scale(1.3)}.pulse_members li.pulse_member span.actions{float:right;margin-top:2px}.pulse_members li.pulse_member span.actions .action_icon{background:#9699a6;border-radius:100%;color:#fff;display:inline-block;font-size:14px;height:20px;line-height:20px;margin-left:3px;position:relative;text-align:center;top:-2px;width:20px}.pulse_members li.pulse_member span.actions .action_icon.read_user,.pulse_members li.pulse_member span.actions .action_icon.view_user{line-height:22px}.pulse_members_wrapper.private .pulse_members span.actions .crown_user{background:#f65f7c;color:#fff}.pulse_members li.pulse_member span.actions .delete_user{color:#9699a6;font-size:19px;margin-left:5px}.invite_members_link{color:#009aff;cursor:pointer;padding:8px}.invite_members_link:hover{background:#009aff;color:#fff}.confirm_unauthorized_email_dialog{background-color:#fff;border-radius:8px;box-shadow:0 8px 16px rgba(0,0,0,.166242);box-sizing:content-box;display:block;opacity:1;padding:10px;position:absolute;width:calc(100% - 20px);z-index:5}.confirm_unauthorized_email_dialog .main_message{border-radius:4px;font-size:14px;font-style:normal;font-weight:300;line-height:22px;padding:10px 0 15px}"]}]}],"members":{"memberList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"boardId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"getData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":27,"character":18},{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"selectedMemberChange":[{"__symbolic":"method"}],"removeMember":[{"__symbolic":"method"}],"submitData":[{"__symbolic":"method"}]}},"ɵcd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nf-relation-data","template":"<div style=\"width: 100%; height: 100%;\" *ngIf=\"boardId && !data.pulseId\"\r\n     nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"visible\" [nzPopoverContent]=\"templateRef\" nzPopoverPlacement=\"bottom\">\r\n</div>\r\n<div *ngIf=\"boardId && data.pulseId\" (click)=\"detailModalVisible=true\">\r\n  <div [style.max-width]=\"(width?width:166) + 'px'\" class=\"display-area text-ellipsis\">\r\n    {{data['name']?data['name']:''}}\r\n    <label class=\"op-button\" *ngIf=\"data.pulseId\">\r\n      <i nz-icon nzType=\"close\" (click)=\"removeData()\"></i>\r\n    </label>\r\n  </div>\r\n</div>\r\n<div *ngIf=\"!boardId\" style=\"width: 100%; height: 100%;\" (click)=\"tip()\"></div>\r\n<ng-template #templateRef>\r\n  <div style=\"padding: 5px;\">\r\n    <ul nz-menu class=\"relation-pulse\">\r\n      <li nz-menu-item [nzDisabled]=\"disabled\" *ngFor=\"let item of pulses\" (click)=\"pulseChange(item)\">{{item.name}}</li>\r\n    </ul>\r\n  </div>\r\n</ng-template>\r\n<nz-modal nzTitle=\"详情查看\" [(nzVisible)]=\"detailModalVisible\" [nzOkText]=\"null\" nzCancelText=\"关闭\" (nzOnCancel)=\"detailModalVisible=false\" [nzWrapClassName]=\"'vertical-center-modal'\">\r\n  <div *ngIf=\"detailModalVisible\">\r\n    <nf-pulse-card\r\n      [taskView]=\"'table'\"\r\n      [dateColumnEnable]=\"true\"\r\n      [nfData]=\"boardData\"\r\n      [nfInstanceData]=\"pulseData\"></nf-pulse-card>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.display-area{padding:0 5px}.op-button{display:none;float:right}.display-area:hover .op-button{display:block}.relation-pulse{box-shadow:none;max-height:300px;overflow-y:auto;padding-right:2px;width:200px}.relation-pulse::-webkit-scrollbar{width:3px}"]}]}],"members":{"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"configsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3},"arguments":["configs"]}]}],"dataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":42,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"tip":[{"__symbolic":"method"}],"handleData":[{"__symbolic":"method"}],"queryPulseData":[{"__symbolic":"method"}],"removeData":[{"__symbolic":"method"}],"pulseChange":[{"__symbolic":"method"}]}},"ɵce":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-status-condition-create","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.indexes != null && automation.columnValue.indexes.length > 0}\">\r\n                        {{columnValueDisplayText}}\r\n                      </span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.indexes.includes(item.index) ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 且满足 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"conditionPopVisible\" (nzPopoverVisibleChange)=\"conditionPopChange()\" [nzPopoverContent]=\"conditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.conditions && automation.conditions.length > 0 ? 'selected':''\">条件</span>\r\n                    </div>\r\n                    <ng-template #conditionTemplate>\r\n                      <div class=\"condition-container\" style=\"padding: 8px; min-width: 480px;\">\r\n                        <div style=\"display: flex; margin-bottom: 16px; align-items: flex-end;\">\r\n                          <div style=\"margin-right: 8px; font-size: 18px; font-weight: 400;\">\r\n                            条件\r\n                          </div>\r\n                        </div>\r\n                        <div *ngIf=\"filterConditions.length > 0\">\r\n                          <div style=\"display: flex; margin-bottom: 16px;\" *ngFor=\"let condition of filterConditions; let i = index;\">\r\n                            <div style=\"min-width: 0; flex: 1;\">\r\n                              <div style=\"height: 100%; display: flex;\">\r\n                                <div style=\"margin-right: 8px; max-width: 500px;\">\r\n                                  <div style=\"background: rgb(255,255,255); color: rgb(0, 154, 255); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                                       [ngClass]=\"condition['title']? 'condition-value': ''\"\r\n                                       nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"conditionContent\"\r\n                                       nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['visible']\"\r\n                                       nzPopoverPlacement=\"bottomLeft\"\r\n                                  >\r\n                                    <div class=\"ds-text-component\">\r\n                                      <span>{{condition['title'] ? condition['title']: '任意条件'}}</span>\r\n                                    </div>\r\n                                    <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n                                  </div>\r\n                                  <ng-template #conditionContent>\r\n                                    <div class=\"automation-list-field-component\">\r\n                                      <div class=\"list-options-wrapper\">\r\n                                        <div class=\"automation-list-field-option\" *ngFor=\"let column of conditionColumns;\"\r\n                                             (click)=\"handleFilterConditionSelectChange(column, condition)\">\r\n                                          <div style=\"flex: 1;\">\r\n                                            {{column['title']}}\r\n                                          </div>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                  </ng-template>\r\n                                </div>\r\n                                <div *ngIf=\"condition['field']\" style=\"margin-right: 8px;\">\r\n                                  <div style=\"background: rgb(255, 255, 255); color: rgb(0, 0, 0); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                                       nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"operatorContent\"\r\n                                       nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['operatorVisible']\"\r\n                                       nzPopoverPlacement=\"bottomLeft\"\r\n                                  >\r\n                                    <div class=\"ds-text-component\">\r\n                                      <span>{{condition['operator']?.title}}</span>\r\n                                    </div>\r\n                                    <span class=\"ds-text-description\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n                                  </div>\r\n                                  <ng-template #operatorContent>\r\n                                    <div class=\"automation-list-field-component\">\r\n                                      <div class=\"list-options-wrapper\">\r\n                                        <div *ngFor=\"let operator of condition['operators']\" class=\"automation-list-field-option\"\r\n                                             [ngClass]=\"condition['operator'] && (condition['operator']['operator'] === operator['operator']) ? 'selected' : ''\"\r\n                                             (click)=\"handleConditionOperatorChange(condition, operator)\">\r\n                                          <div style=\"flex: 1;\">\r\n                                            {{operator.title}}\r\n                                          </div>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                  </ng-template>\r\n                                </div>\r\n                                <div *ngIf=\"condition['field']\" style=\"margin-right: 8px; max-width: 300px;\">\r\n                                  <div style=\"background: rgb(255, 255, 255); color: rgb(0, 154, 255); border-color: rgb(161, 161, 161);\" class=\"condition-field-text\"\r\n                                       nz-popover [nzPopoverTitle]=\"null\" [nzPopoverContent]=\"operatorContent\"\r\n                                       nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"condition['valueVisible']\"\r\n                                       nzPopoverPlacement=\"bottomLeft\" [ngClass]=\"condition['value'] ? 'condition-value':''\"\r\n                                  >\r\n                                    <div class=\"ds-text-component\">\r\n                                      <span>\r\n                                        <ng-container *ngIf=\"condition['value']\">\r\n                                          <ng-container *ngIf=\"condition.type == 'status'\">\r\n                                            {{condition['valueText']}}\r\n                                          </ng-container>\r\n                                          <ng-container *ngIf=\"condition.type != 'status'\">\r\n                                            {{condition['value']}}\r\n                                          </ng-container>\r\n                                        </ng-container>\r\n                                        <ng-container *ngIf=\"!condition['value']\">\r\n                                          添加值\r\n                                        </ng-container>\r\n                                      </span>\r\n                                    </div>\r\n                                    <span class=\"ds-text-description\" *ngIf=\"!condition['value']\"><i nz-icon nzType=\"down\" nzTheme=\"outline\"></i></span>\r\n                                  </div>\r\n                                  <ng-template #operatorContent>\r\n                                    <div *ngIf=\"condition['type'] == 'name' || condition['type'] == 'text'\" class=\"automation-text-field-component\">\r\n                                        <div class=\"text-input-wrapper\">\r\n                                          <textarea class=\"text-input-field\" [(ngModel)]=\"condition['value']\"></textarea>\r\n                                        </div>\r\n                                      </div>\r\n                                    <div *ngIf=\"condition['type'] == 'date'\" class=\"automation-text-field-component\" style=\"height: 40px;\">\r\n                                      <div class=\"text-input-wrapper\">\r\n                                        <nz-date-picker [(ngModel)]=\"condition['value']\" (ngModelChange)=\"dateChange(condition)\" nzFormat=\"yyyy-MM-dd\" style=\"width: 100%;\"></nz-date-picker>\r\n                                      </div>\r\n                                    </div>\r\n                                    <div *ngIf=\"condition['type'] == 'status'\" class=\"automation-list-field-component\">\r\n                                      <div class=\"list-options-wrapper\">\r\n                                        <div *ngFor=\"let option of condition['valueConfig']\" class=\"automation-list-field-option\"\r\n                                             [ngClass]=\"condition['value'] == option['index'] ? 'selected' : ''\"\r\n                                             (click)=\"handleConditionValueChange(condition, option)\">\r\n                                          <div style=\"flex: 1;\">\r\n                                            {{option.label}}\r\n                                          </div>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                  </ng-template>\r\n                                </div>\r\n                                <div *ngIf=\"i !== (filterConditions.length - 1) && (!condition['field'] || (condition['field'] && condition['value']))\" class=\"condition-indicator\">\r\n                                  And\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                            <div style=\"display: flex; align-items: center; justify-content: center;\">\r\n                              <a class=\"remove-condition-link\" (click)=\"deleteFilterCondition(i)\"><i nz-icon nzType=\"close\" nzTheme=\"outline\"></i></a>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                        <div style=\"margin-top: 16px; \">\r\n                          <a (click)=\"addFilterCondition()\">+ 添加条件</a>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"targetBoardVisible\" [nzPopoverContent]=\"targetBoardTemplate\">\r\n                      <div class=\"ds-text-component\">\r\n                        <span [ngClass]=\"{'selected': targetBoardId}\">{{targetBoardDisplayText}}</span>\r\n                      </div>\r\n                    </div>\r\n                    <ng-template #targetBoardTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择面板</div>\r\n                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': board.id == targetBoardId}\"\r\n                             *ngFor=\"let board of boards\" (click)=\"handleTargetBoardChange(board)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{board.name}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"targetGroupVisible\" [nzPopoverContent]=\"targetGroupTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': targetGroupId}\">{{targetGroupDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #targetGroupTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == targetGroupId}\"\r\n                           *ngFor=\"let group of targetGroups\" (click)=\"handleTargetGroupChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，创建一条 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzWidth]=\"'600px'\"  nzOkText=\"确定\" nzCancelText=\"取消\" (nzOnOk)=\"handleOk()\" (nzOnCancel)=\"isVisible=false\">\r\n  <div class=\"automations-dialog-part-wrapper\" *ngIf=\"isVisible\">\r\n    <nf-pulse-integration #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"taskIntegrationData\"\r\n      [columns]=\"targetIntegrationColumns\"\r\n      [nfData]=\"targetBoardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}",".condition-component-warpper{position:relative}.condition-component-header{font-size:14px;font-weight:600;margin-bottom:10px}.condition-component-footer{color:#2196f3;cursor:pointer;margin-top:10px}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.condition-indicator{background:#f5f6f8;border-radius:4px;color:#c5c7d0;font-size:16px;line-height:32px;text-align:center;width:60px}.condition-field-text{border:1px solid;border-radius:4px;cursor:pointer;display:flex;font-size:14px;min-height:32px;padding:4px 8px}.automation-list-field-component{display:flex;flex-direction:column;max-height:180px;max-width:250px;min-width:250px;outline:none}.automation-list-field-component .list-options-wrapper{flex:1;min-height:0;outline:none;overflow:auto}.automation-list-field-component .list-options-wrapper .automation-list-field-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-weight:300;margin-bottom:2px;padding:8px;width:100%}.automation-list-field-component .list-options-wrapper .automation-list-field-option:hover{background:#009aff;color:#fff}.automation-list-field-component .list-options-wrapper .automation-list-field-option.selected{background:rgba(0,154,255,.2);color:#009aff;font-weight:400}.automation-list-field-component .list-search-input{border:1px solid #c4c4c4;border-radius:2px;height:32px;outline:none;padding-left:8px;width:100%}.automation-list-field-component .list-search-input:focus{border:1px solid #009aff}.automation-text-field-component{display:flex;flex-direction:column;height:120px;width:280px}.automation-text-field-component .text-input-wrapper{flex:1 1;min-height:0;position:relative}.automation-text-field-component .text-input-wrapper .text-input-field{border:none;font-size:14px;height:calc(100% - 30px);outline:none;resize:none;width:100%}.condition-value,.have-value{color:#000!important}.ds-text-description{font-size:12px;margin-left:16px;margin-right:8px}.remove-condition-link{color:#a1a1a1;cursor:pointer;font-size:12px;margin-left:8px;text-decoration:none}.remove-condition-link:hover{color:#000}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":102,"character":3},"arguments":["pulseCard"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":103,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":106,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":107,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getStatusValueText":[{"__symbolic":"method"}],"conditionPopChange":[{"__symbolic":"method"}],"addFilterCondition":[{"__symbolic":"method"}],"deleteFilterCondition":[{"__symbolic":"method"}],"handleFilterConditionSelectChange":[{"__symbolic":"method"}],"handleConditionOperatorChange":[{"__symbolic":"method"}],"dateChange":[{"__symbolic":"method"}],"handleConditionValueChange":[{"__symbolic":"method"}],"handleTargetBoardChange":[{"__symbolic":"method"}],"handleTargetBoardColumn":[{"__symbolic":"method"}],"handleTargetGroupChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵcf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-status-group-moving","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.indexes != null && automation.columnValue.indexes.length > 0}\">\r\n                        {{columnValueDisplayText}}\r\n                      </span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.indexes.includes(item.index) ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 ，将任务移动到 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"targetGroupVisible\" [nzPopoverContent]=\"targetGroupTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': targetGroupId}\">{{targetGroupDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #targetGroupTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == targetGroupId}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"targetGroupChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getStatusValueText":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"targetGroupChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵcg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-status-group-moving-notify","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.indexes != null && automation.columnValue.indexes.length > 0}\">\r\n                        {{columnValueDisplayText}}\r\n                      </span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.indexes.includes(item.index) ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                              <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 ，将任务移动到 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"targetGroupVisible\" [nzPopoverContent]=\"targetGroupTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': targetGroupId}\">{{targetGroupDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #targetGroupTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == targetGroupId}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"targetGroupChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;并发送 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"mailPopVisible\" [nzPopoverContent]=\"mailTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"(automation.email || automation.siteMessage || automation.sms) ? 'selected':''\">通知</span>\r\n                    </div>\r\n                    <ng-template #mailTemplate>\r\n                      <nf-notification [boardData]=\"boardData\" [boardColumnData]=\"boardColumnData\" [nfData]=\"notificationData\" [smsPattern]=\"smsPattern\"\r\n                                       [smsTemplateList]=\"smsTemplateList\"\r\n                                       (nfDataChange)=\"getNotificationData($event)\"></nf-notification>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 给 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"receiverPopVisible\" [nzPopoverContent]=\"receiverTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.receiver['type'] && automation.receiver['value'] && automation.receiver['value'].length > 0 ? 'selected':''\">用户</span>\r\n                    </div>\r\n                    <ng-template #receiverTemplate>\r\n                      <nf-user [boardData]=\"boardData\" [userData]=\"automation.receiver\" (getUserData)=\"getUserData($event)\"></nf-user>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getStatusValueText":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"targetGroupChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵch":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"nf-vote","template":"<div class=\"votes-cell-component\" (click)=\"changeVoteStatus()\">\r\n  <div *ngIf=\"!disabled\" class=\"vote-button\" [ngClass]=\"currentUserChecked?'voted':''\" style=\"border-color: rgb(0, 134, 192);\" [style.background]=\"currentUserChecked?'rgb(0, 134, 192)':''\">\r\n    <i *ngIf=\"currentUserChecked\" nz-icon nzType=\"check\" nzTheme=\"outline\" style=\"font-size: 16px;\"></i>\r\n  </div>\r\n  <div class=\"votes-bar-container\">\r\n    <div class=\"votes-bar-component votes-bar-animate\">\r\n      <div class=\"votes-bar\" style=\"background: rgb(0, 134, 192); width: 100%;\" nz-tooltip [nzTooltipTitle]=\"templateRef\"\r\n           [style.opacity]=\"currentUserChecked?'1':nfData.length?'0.4':'0.2'\"></div>\r\n      <ng-template #templateRef>\r\n        <div *ngIf=\"nfData.length\">\r\n          {{nfData.length}} 位已投：\r\n          <div>\r\n            <label *ngFor=\"let item of nfData\" style=\"display: block;\">{{item.name + '(' + item.id + ')'}}</label>\r\n          </div>\r\n        </div>\r\n        <div *ngIf=\"!nfData.length\">\r\n          暂无人投票...\r\n        </div>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n  <div class=\"voters-info\">\r\n    {{nfData.length}}\r\n  </div>\r\n</div>\r\n","styles":[".votes-cell-component{align-items:center;display:flex;height:100%}.votes-cell-component .vote-button{border:2px solid #c4c4c4;border-radius:50%;color:#fff;flex:0 0 24px;height:24px;line-height:24px;margin-left:8px}.votes-cell-component .vote-button:not(.voted){opacity:.3}.votes-cell-component .votes-bar-container{flex:1 1 auto;height:100%;margin-left:8px;margin-right:8px;position:relative}.votes-cell-component .voters-info{flex:0 0 22px;margin-right:8px}.votes-bar-component .votes-bar{bottom:5px;position:absolute;top:5px}.votes-bar-animate .votes-bar{transition:all .2s ease-in-out}"]}]}],"members":{"currentUser":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3},"arguments":["nfData"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"getData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"changeVoteStatus":[{"__symbolic":"method"}]}},"ɵci":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"nf-date-slider","template":"<div class=\"date-search\">\r\n  <div class=\"date-search-content\">\r\n    <div class=\"date-search-content-button\">\r\n      <i nz-icon nzType=\"plus\" (click)=\"scaleReduce()\"></i>\r\n    </div>\r\n    <div class=\"date-search-content-button\">\r\n      <i nz-icon nzType=\"minus\" (click)=\"scaleExpend()\"></i>\r\n    </div>\r\n  </div>\r\n  <div class=\"date-op\">\r\n    <div style=\"padding: 0 20px;\">\r\n      <div id=\"date-area\" class=\"date-area\">\r\n        <div *ngFor=\"let item of dateSection; let i = index\" [ngClass]=\"{'odd': i%2==0}\" class=\"date-area-item\">\r\n          {{item}}\r\n        </div>\r\n      </div>\r\n      <div class=\"date-slider\">\r\n        <div class=\"date-slider-line\"></div>\r\n        <div class=\"date-slider-track\" [style.width]=\"buttonWidth+'px'\" [style.left]=\"left + 'px'\"\r\n             cdkDrag cdkDragLockAxis=\"x\"\r\n             (cdkDragMoved)=\"buttonMoving($event)\" (cdkDragEnded)=\"buttonMoveEnd($event)\">\r\n          <div class=\"date-slider-track-left\" cdkDrag cdkDragLockAxis=\"x\"\r\n               (cdkDragMoved)=\"mouseMoved('left', $event)\" (cdkDragEnded)=\"dragEnd('left', $event)\">\r\n            <div class=\"date-slider-tip\">{{startDateForShow | date:'MM-dd'}}</div>\r\n          </div>\r\n          <div class=\"date-slider-track-button\">\r\n            <i nz-icon nzType=\"menu\"></i>\r\n          </div>\r\n          <div class=\"date-slider-track-right\" cdkDrag cdkDragLockAxis=\"x\"\r\n               (cdkDragMoved)=\"mouseMoved('right', $event)\" (cdkDragEnded)=\"dragEnd('right', $event)\">\r\n            <div class=\"date-slider-tip\" style=\"left: 0;\">{{endDateForShow | date: 'MM-dd'}}</div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".date-search{background-color:#181d37;border:2px solid hsla(0,0%,100%,.7);border-radius:8px;display:flex;height:80px;margin:16px 0;width:100%}.date-search-content{border-right:2px solid hsla(0,0%,100%,.7);height:100%;width:60px}.date-search-content-button{color:#fff;height:38px;line-height:38px;text-align:center}.date-search-content-button i{cursor:pointer;transform:scale(1.4)}.date-op{width:calc(100% - 60px)}.date-area{display:flex;height:80px;width:100%}.date-area-item{color:#fff;flex:1;height:100%;text-align:center}.odd{background:hsla(0,0%,100%,.05)}.date-slider{bottom:32px;height:30px;position:relative}.date-slider-line{background-color:#fff;height:2px;position:relative;top:13px;width:100%}.date-slider-line:before{left:-5px}.date-slider-line:after,.date-slider-line:before{background-color:#e1e1e1;border-radius:20px;content:\"\";display:inline-block;height:8px;position:absolute;top:-3px;width:8px}.date-slider-line:after{right:-5px}.date-slider-tip{bottom:24px;left:-30px;position:relative;width:60px}.date-slider-track{display:flex;position:relative;top:6px}.date-slider-track-left{background:hsla(0,0%,100%,.8);border-radius:20px 0 0 20px;color:#fff;cursor:col-resize;height:12px;width:4px}.date-slider-track-button{background-color:#0085ff;cursor:pointer;height:12px;text-align:center;width:calc(100% - 8px)}.date-slider-track-button i{font-size:12px;position:relative;top:-5px;transform:rotate(90deg)}.date-slider-track-right{background:hsla(0,0%,100%,.8);border-radius:0 20px 20px 0;color:#fff;cursor:col-resize;height:12px;width:4px}"]}]}],"members":{"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":33,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"calculateDateSection":[{"__symbolic":"method"}],"zeroTime":[{"__symbolic":"method"}],"buttonMoving":[{"__symbolic":"method"}],"buttonMoveEnd":[{"__symbolic":"method"}],"moveAllowed":[{"__symbolic":"method"}],"mouseMoved":[{"__symbolic":"method"}],"dragEnd":[{"__symbolic":"method"}],"emitData":[{"__symbolic":"method"}],"getButtonWidth":[{"__symbolic":"method"}],"getLeft":[{"__symbolic":"method"}],"scaleExpend":[{"__symbolic":"method"}],"scaleReduce":[{"__symbolic":"method"}],"getYearDay":[{"__symbolic":"method"}],"getMonthLastDay":[{"__symbolic":"method"}]}},"ɵcj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"nf-last-updated","template":"<div style=\"width: 100%;\" class=\"pulse-updated-cell-component\" nz-tooltip [nzTooltipTitle]=\"tip\">\r\n  <nz-avatar [nzText]=\"updaterName ? updaterName.substr(updaterName.length-1,1):updater\"\r\n             [nzSize]=\"25\" [style.background]=\"color?color:'#2196F3'\"></nz-avatar>\r\n  &nbsp;&nbsp;{{timeText}}\r\n</div>\r\n<ng-template #tip>\r\n  <ng-container *ngIf=\"updaterName\">{{updaterName}} 最后更新于 {{updatedAt | date: 'yyyy-MM-dd HH:mm:ss'}}</ng-container>\r\n  <ng-container *ngIf=\"!updaterName\">{{updater}} 最后更新于 {{updatedAt | date: 'yyyy-MM-dd HH:mm:ss'}}</ng-container>\r\n</ng-template>\r\n","styles":[".pulse-updated-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:0 8px}"]}]}],"members":{"pulseId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"boardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"review":[{"__symbolic":"method"}],"calculateTime":[{"__symbolic":"method"}]}},"ɵck":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-status-timer-archive","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;，当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.indexes != null && automation.columnValue.indexes.length > 0}\">\r\n                        {{columnValueDisplayText}}\r\n                      </span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.indexes.includes(item.index) ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;时，归档该任务 </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getStatusValueText":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵcl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-work-relation","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 每天 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': schedulerConditionData}\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #schedulerConditionTemplate>\r\n                    <nz-time-picker [(ngModel)]=\"schedulerConditionData\" (ngModelChange)=\"schedulerTimeChange($event)\" nzFormat=\"HH:mm:ss\"></nz-time-picker>\r\n                  </ng-template>\r\n                </span>\r\n<!--                <span class=\"automations-editor-field-term-component in-editor\">-->\r\n<!--                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">-->\r\n<!--                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">-->\r\n<!--                      <span>{{schedulerConditionDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">-->\r\n<!--                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                    <ng-template #schedulerConditionTemplate>-->\r\n<!--                      <nf-scheduler [nfData]=\"schedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>-->\r\n<!--                    </ng-template>-->\r\n<!--                  </div>-->\r\n<!--                </span>-->\r\n                <span class=\"automations-editor-text-term-component\"> 根据任务规则 </span>\r\n<!--                <span class=\"automations-editor-field-term-component  in-editor\">-->\r\n<!--                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"departmentConditionVisible\" [nzPopoverContent]=\"departmentConditionTemplate\">-->\r\n<!--                    <div class=\"ds-text-component\">-->\r\n<!--                      <span [ngClass]=\"{'selected': departmentConditionId}\">{{departmentConditionDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                  </div>-->\r\n<!--                  <ng-template #departmentConditionTemplate>-->\r\n<!--                    <div class=\"condition-container\">-->\r\n<!--                      <div class=\"field-title\">选择部门</div>-->\r\n<!--                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == departmentConditionId}\" *ngFor=\"let data of departmentData\" (click)=\"departmentConditionChange(data)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{data.name}}</div>-->\r\n<!--                      </div>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-template>-->\r\n<!--                </span>-->\r\n<!--                <span class=\"automations-editor-text-term-component\"> 及 </span>-->\r\n<!--                <span class=\"automations-editor-field-term-component  in-editor\">-->\r\n<!--                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"workDefConditionVisible\" [nzPopoverContent]=\"workDefConditionTemplate\">-->\r\n<!--                    <div class=\"ds-text-component\">-->\r\n<!--                      <span [ngClass]=\"{'selected': workDefConditionId}\">{{workDefConditionDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                  </div>-->\r\n<!--                  <ng-template #workDefConditionTemplate>-->\r\n<!--                    <div class=\"condition-container\">-->\r\n<!--                      <div class=\"field-title\">选择班次</div>-->\r\n<!--                      <ng-container *ngIf=\"workDefData.length > 0\">-->\r\n<!--                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == workDefConditionId}\" *ngFor=\"let data of workDefData\" (click)=\"workDefConditionChange(data)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{data.name}}</div>-->\r\n<!--                      </div>-->\r\n<!--                      </ng-container>-->\r\n<!--                      <ng-container *ngIf=\"workDefData.length == 0\">-->\r\n<!--                        请先选择部门-->\r\n<!--                      </ng-container>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-template>-->\r\n<!--                </span>-->\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupIdList.length}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <nz-select\r\n                        style=\"width:200px\"\r\n                        nzMode=\"multiple\"\r\n                        nzPlaceHolder=\"选择分组\"\r\n                        (ngModelChange)=\"groupConditionChange($event)\"\r\n                        [(ngModel)]=\"groupIdList\">\r\n                        <nz-option *ngFor=\"let item of boardGroupData\" [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n                      </nz-select>\r\n<!--                      <div class=\"field-title\">选择分组</div>-->\r\n<!--                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{group.title}}</div>-->\r\n<!--                      </div>-->\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":56,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"schedulerTimeChange":[{"__symbolic":"method"}]}},"ɵcm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-common-workflow-create-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 监听到 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"processDefinitionVisible\" [nzPopoverContent]=\"processDefinitionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': processDefinitionKey}\">{{processDefinitionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #processDefinitionTemplate>\r\n                    <div class=\"field-title\">选择流程</div>\r\n                    <div class=\"condition-container\">\r\n                      <div style=\"margin-top:15px;\">\r\n                        <nz-cascader [nzOptions]=\"processDefinitionOptions\" [(ngModel)]=\"processDefinitionKey\" (ngModelChange)=\"onProcessDefinitionChanges($event)\"></nz-cascader>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openProcessNodeDialog()\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': taskDefinitionKey}\">{{taskDefinitionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n<!--                  <ng-template #taskDefinitionTemplate>-->\r\n<!--                    <div class=\"field-title\">{{taskDefinitionKey?'选择流程节点':'请先选择流程'}}</div>-->\r\n<!--                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">-->\r\n<!--                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': activity.id == taskDefinitionKey}\"-->\r\n<!--                           *ngFor=\"let activity of processActivities\" (click)=\"processActivityChange(activity)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{activity.name}}</div>-->\r\n<!--                      </div>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-template>-->\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"workflowTaskStateVisible\" [nzPopoverContent]=\"workflowTaskStateTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': workflowTaskState}\">{{workflowTaskStateDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #workflowTaskStateTemplate>\r\n                    <div class=\"field-title\">选择状态</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': state.id == workflowTaskState}\"\r\n                           *ngFor=\"let state of workflowTaskStateData\" (click)=\"workflowTaskStateChange(state)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{state.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，且满足 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover [(nzPopoverVisible)]=\"conditionVisible\" (nzPopoverVisibleChange)=\"conditionPopChange()\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"conditionContentTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.conditions.length > 0 ? 'selected':''\">条件</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #conditionContentTemplate>\r\n                    <nf-field-condition\r\n                      [column]=\"boardColumnData\"\r\n                      [source]=\"source\"\r\n                      [automation]=\"automation\"></nf-field-condition>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> ，根据 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"taskVisible\" [nzPopoverContent]=\"taskTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"taskDefId ? 'selected':''\">{{taskText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #taskTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择任务规则 <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" nz-tooltip nzTooltipTitle=\"只显示手工发起的任务规则\"></i></div>\r\n                      <div class=\"task-rule-list\">\r\n                        <nz-tree-select\r\n                          nzAllowClear\r\n                          style=\"width: 250px\"\r\n                          [(ngModel)]=\"taskDefId\"\r\n                          [nzNodes]=\"nodes\"\r\n                          (ngModelChange)=\"onTaskChange($event)\"\r\n                          nzShowSearch\r\n                          nzPlaceHolder=\"请选择\"\r\n                        ></nz-tree-select>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"field-title\">选择分组</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n<nz-modal [(nzVisible)]=\"taskDefinitionVisible\"\r\n          [nzTitle]=\"'选择流程节点'\"\r\n          [nzMaskClosable]=\"true\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzWidth]=\"'90%'\"\r\n          [nzOkText]=\"null\"\r\n          [nzFooter]=\"modalTaskDefinitionFooter\"\r\n          (nzOnCancel)=\"handleTaskDefinitionCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-bpmn-view\r\n      *ngIf=\"taskDefinitionVisible\"\r\n      [nfHeight]=\"500\"\r\n      [nfParam]=\"processParams\"\r\n      [nfInstanceData]=\"processInstanceData\"\r\n      (nfModelChange)=\"taskDefinitionChange($event)\"\r\n      [nfDiagramUrl]=\"processUrl\">\r\n    </nf-bpmn-view>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalTaskDefinitionFooter>\r\n  <button nz-button nzType=\"default\" (click)=handleTaskDefinitionCancel()>取消</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":94,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":98,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"queryCategoryProcessData":[{"__symbolic":"method"}],"queryProcessActivities":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"workflowTaskStateChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"onTaskChange":[{"__symbolic":"method"}],"getTaskRuleListData":[{"__symbolic":"method"}],"listConvertTree":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}],"conditionPopChange":[{"__symbolic":"method"}],"onProcessDefinitionChanges":[{"__symbolic":"method"}],"queryProcessActivityNodeData":[{"__symbolic":"method"}],"openProcessNodeDialog":[{"__symbolic":"method"}],"handleTaskDefinitionCancel":[{"__symbolic":"method"}],"taskDefinitionChange":[{"__symbolic":"method"}]}},"ɵcn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-workflow-update-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAXhSURBVHgB7Zvfb9tUFMfPvUkrIe0hFWyveA9smsS05A2VosVIsIEGTREF3mb+grV/QZO/YPQvaPaGRFFTBOKHxOKKgfaWAJWQOn74cWKTkgckpCXx4ZzbuDSJr+0kdpS0/UhVbF878feee31+XFdACPlaIdM6l7YEyOuImBUCDNUgoAkIDu3XoePu/nD58wokSP5rzEsBy0ibwPeAkOk2OfxHx3fpWMV+SzhB3yN0DYsHq1n6gbv8WxABFPSjLpR+uvRZGWLk9W9xg8SsHRMYCAkquwglnXBfwUt/fHgHXPcTGAEW3mm1zIdXKg6MAVnUoNGzQ5tZGAG6tnj/higNHO8/8OrB6hadbMF4NKmXTbJ2HUYg/x1NHYRqVKvqYGvfvyk+7jv2PzGJ9RhJdFxiPfpFS29j6dEHGzGKZTJCwg4/9KJeoIaxS8M4JrEMzX8r/w2ueftK8Cu/fWRQUzHC9U3qlDK4WAJ0N+kaO+hkspTRPje/BRGhh+QGfRgQM2Tlu/mvMNvdpqH8Ow1l1FsXyf1IdNf9XA93VirVLgohbmt/EdB88NK2DQF0H1J/QXLY1ZvClHzDYWI7nZap87MPr3zq/Hhpm67HEui/pAAhdK2bJPn8DmZkKt0OvBkWG8XFkAWLFJjc820U8nbY9eTOQjtlbJ4DizpWLOvaeb4O40/n5tprmqbM4v6q1p9yFBXng0oLQl7SkDW07TqLabAvVpr84ds43wkKIAyYAGTAa/IoNvYh/U97+MAB3Z/9DkuURsBVQW1xYsigVjunLDYcKIa/ZoJIlfVoWPzzvRdhWFLiGkwrpJUEo6NtfyZXYEhwxGB/QjgSOrinaxUpEepOjvPawaolcGLzcWjoAV0nC4ugxD3LMTZEgAMYVyYePIyHgF2pQr6AecwxdphoFV7OdarTbF3CsW+ISlptdnCTYrsAUVikeNviigbt1Dnl4yyofS6dpWCcyi4drkhMNTScVeirBD+4vE1WXOWIS/vAYeuRz1aZD50Lbe+LYCZwqORT5o0jP9xup1aCh/aMQprIuqa3eySYsx7XpYaTJJrFCjCPF/R6Ii2emyyaU0KYfRwl9k3REx4PhJYsutNJmcMmDtMECa3gv5DrF8v4xtJeUk/z+mJX+PQPcx6+LmzyfCX3s2Kv+Mf06aDvYOH0YfH20qP38wKFQR1gwChITdp4iI2jP+4dSEHdz5pnnHHGGWfMGiLqiY39tymxSGXJqxswEtJeuFqx/VpeqNby0o22Dt0PglqXdp6+kbOjnB/ohxu/3qJVd0npn7Bo97BuHLmL+m6M7go0JVwlNjA91cO3Q4t2cKFab5L4SotWQJpmztGd7yu4QbmuSOMWfVthRtI/JkPirXkyzvlqvawTPhBaktismMcaTGLpIyG6wqvnq7WB/L5HsBI7h7wYbcDsYwgf0UeCSayhxMIE1ngmR4ZFZ6o1wztwJJiG8UkT65Gh4b3j7SjBjf13rBMyjHVkL3xfK/KGEiyEnO56chxIcUd9NH65VTjh1vXIqABHytQynBKECwU55YtfsSKkuM5z2IDTg1oQP4muSEdGwimD3wBwYBIELLwjTKzwTwviLkymvIl6wS05mXvgjpUoxB4kT3Ph6pe2ttHMseDEi/3SxV0JLShDwlC6Vgk7B93kl3aoUFCRC7mAl8liwm2JUtg5KMM7ZUzKj6kgoJ7S2BLrkBD8gjZ1qhN23lNT1aQSEy27L78qwXRDdapbJSHaiWJdj2eA/Oa6A7GDpcfdck9PSa6x/26ZEuahXlUKoEkjx+TOHOYirlBw0g6xBUR4728zZ3l7AzXImESPJNYjPtG9YpmBSGvh5S8sxOjD0Ic6ic2NKpZ5Qm6K5lwOxhjeAnC9X+zhcQ1c44KUW6QMI6q1m9RRm1RsL0KMkLUtsnbk/4VA5XFw/cmhbx8gtKyuhM9BgXpsufsvcEa3id2ZQwvkFLjIim5VIS6er9YKKaTSsVAvrxoAPf+KV3cB99rkESiICQxg/gNUUloyES58wAAAAABJRU5ErkJggg==\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 监听到流程状态变更为  </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"statusConditionVisible\" [nzPopoverContent]=\"statusConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': statusConditionCode}\">{{statusDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #statusConditionTemplate>\r\n                    <div class=\"field-title\">选择流程</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': status.code == statusConditionCode}\"\r\n                           *ngFor=\"let status of statusList\" (click)=\"statusConditionChange(status)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{status.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，更新 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"statusConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵco":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-workflow-delete-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 监听到流程状态变更为  </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"statusConditionVisible\" [nzPopoverContent]=\"statusConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': statusConditionCode}\">{{statusDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #statusConditionTemplate>\r\n                    <div class=\"field-title\">选择流程</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': status.code == statusConditionCode}\"\r\n                           *ngFor=\"let status of statusList\" (click)=\"statusConditionChange(status)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{status.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，删除任务 </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"statusConditionChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵcp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-common-audit-create-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 监听到 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"boardConditionVisible\" [nzPopoverContent]=\"boardConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': boardConditionId}\">{{boardConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #boardConditionTemplate>\r\n                    <div class=\"field-title\">选择面板</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': board.id == boardConditionId}\"\r\n                           *ngFor=\"let board of boardConditionList\" (click)=\"boardConditionChange(board)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{board.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"itemConditionVisible\" [nzPopoverContent]=\"auditItemTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': itemConditionId}\">{{itemConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #auditItemTemplate>\r\n                    <div class=\"field-title\">{{boardConditionId?'选择稽核项':'请先选择面板'}}</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == itemConditionId}\"\r\n                           *ngFor=\"let item of itemConditionList\" (click)=\"auditItemChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的状态为 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"statusConditionVisible\" [nzPopoverContent]=\"statusConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': statusConditionCode}\">{{statusDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #statusConditionTemplate>\r\n                    <div class=\"field-title\">选择流程</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': status.code == statusConditionCode}\"\r\n                           *ngFor=\"let status of statusList\" (click)=\"statusConditionChange(status)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{status.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"field-title\">选择分组</div>\r\n                    <div class=\"condition-container\" style=\"max-height: 400px; overflow-y: auto;\">\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":63,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":66,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"boardConditionChange":[{"__symbolic":"method"}],"queryItemList":[{"__symbolic":"method"}],"auditItemChange":[{"__symbolic":"method"}],"statusConditionChange":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵcq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-audit-delete-task","template":"<p>common-audit-delete-task works!</p>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵcr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-common-audit-update-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 监听到关联的稽核状态为正常时，自动完成任务 </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":38,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵcs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"task-new-table","providers":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":29,"character":27}],"template":"<div class=\"application\">\r\n  <div id=\"first-level-content\" class=\"first-level-content\">\r\n    <div class=\"board-wrapper\">\r\n      <div class=\"board-header\"></div>\r\n      <div id=\"board-content-component\" class=\"board-content-component\" cdkDropListGroup>\r\n        <div class=\"board-content-wrapper\">\r\n          <div class=\"board-content-items\">\r\n            <!-- 渲染列表开始 -->\r\n            <ng-container *ngIf=\"renderBoard.length\">\r\n              <cdk-virtual-scroll-viewport\r\n                itemSize=\"36\"\r\n                minBufferPx=\"100\"\r\n                maxBufferPx=\"200\"\r\n                id=\"virtual-scroll-viewport\"\r\n                cdkDropList\r\n                [style.height.px] = \"visibleHeight - 40\"\r\n                class=\"virtual-viewport\">\r\n                <ng-container *cdkVirtualFor=\"let item of renderBoard;trackBy: trackByItems;let i = index;\">\r\n                  <div [style.min-width.px]=\"boardWidth\">\r\n                    <ng-container *ngIf=\"item.isColumn;else elseBlock\">\r\n                      <!-- 表格-列-开始 -->\r\n                      <div class=\"group-header-wrapper\">\r\n                        <div\r\n                          cdkDropList\r\n                          cdkDropListOrientation=\"horizontal\"\r\n                          (cdkDropListDropped)=\"columnDrop($event)\">\r\n                          <div class=\"group-header-component\">\r\n                            <!-- 列组件 -->\r\n                            <!-- 分组按钮 -->\r\n                            <div class=\"group-menu\"\r\n                                 style=\"position:sticky;left:0\"\r\n                                 nz-popover\r\n                                 nzPopoverTrigger=\"click\"\r\n                                 [nzPopoverContent]=\"groupMenuTemplate\"\r\n                                 [(nzPopoverVisible)]=\"item.group['menuPopVisible']\">\r\n                              <div class=\"ds-menu-button-container\">\r\n                                <!--<div class=\"column-name-drag\" cdkDragHandle><i class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i></div>-->\r\n                                <a class=\"group-menu-button\" [style.color]=\"item.group.color\">\r\n                                  <i nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i>\r\n                                </a>\r\n                              </div>\r\n                            </div>\r\n                            <!--  分组按钮菜单开始 -->\r\n                            <ng-template #groupMenuTemplate>\r\n                              <div class=\"add-column-menu\">\r\n                                <ul>\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.groupAuthority : ''\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockAB\">\r\n                                    <li nz-popover\r\n                                        nzPopoverTrigger=\"click\"\r\n                                        [(nzPopoverVisible)]=\"item.group['authorityPopVisible']\"\r\n                                        (nzPopoverVisibleChange)=\"groupAuthorityChange(item.group.id, $event)\"\r\n                                        [nzPopoverContent]=\"groupAuthorityTemp\"\r\n                                        nzPopoverPlacement=\"rightTop\">\r\n                                      <i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限\r\n                                    </li>\r\n                                    <ng-template #groupAuthorityTemp>\r\n                                      <nz-tabset>\r\n                                        <nz-tab nzTitle=\"编辑权限\">\r\n                                          <div class=\"group-authority-content\">\r\n                                            <div class=\"group-authority-content-switch\">\r\n                                              <div class=\"description\">是否开启</div>\r\n                                              <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.edit.status\"></nz-switch>\r\n                                            </div>\r\n                                            <div *ngIf=\"groupAuthority.edit.status\">\r\n                                              <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.edit.members\" (getData)=\"getAuthorityMember(groupAuthority.edit, $event)\"></nf-member>\r\n                                            </div>\r\n                                          </div>\r\n                                        </nz-tab>\r\n                                        <nz-tab nzTitle=\"查看权限\">\r\n                                          <div class=\"group-authority-content\">\r\n                                            <div class=\"group-authority-content-switch\">\r\n                                              <div class=\"description\">是否开启</div>\r\n                                              <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.view.status\"></nz-switch>\r\n                                            </div>\r\n                                            <div *ngIf=\"groupAuthority.view.status\">\r\n                                              <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.view.members\" (getData)=\"getAuthorityMember(groupAuthority.view, $event)\"></nf-member>\r\n                                            </div>\r\n                                          </div>\r\n                                        </nz-tab>\r\n                                      </nz-tabset>\r\n                                      <div style=\"text-align: right;\">\r\n                                        <button nz-button nzType=\"primary\" (click)=\"groupAuthorityConfirm(item.group)\">确定</button>\r\n                                      </div>\r\n                                    </ng-template>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockAB>\r\n                                    <li class=\"add-column-menu_disabled\"><i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限</li>\r\n                                  </ng-template>\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archiveGroup : ''\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockAG\">\r\n                                    <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archiveGroup(boardId, item.group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockAG>\r\n                                    <li class=\"add-column-menu_disabled\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                                  </ng-template>\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupColor : ''\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockEGC\">\r\n                                    <li nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"changeGroupColorTemplate\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                                  </ng-template>\r\n                                  <li (click)=\"selectGroup(item.group)\"><i style=\"font-size:15px;\" nz-icon nzType=\"check-circle\" nzTheme=\"outline\"></i> 选中本组</li>\r\n                                  <ng-template #elseBlockEGC>\r\n                                    <li class=\"add-column-menu_disabled\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                                  </ng-template>\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteGroup : ''\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockDG\">\r\n                                    <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removeGroup(boardId, item.group.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockDG>\r\n                                    <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                                  </ng-template>\r\n                                </ul>\r\n                              </div>\r\n                            </ng-template>\r\n                            <ng-template #changeGroupColorTemplate>\r\n                              <div class=\"group-color-dialog\">\r\n                                <a *ngFor=\"let color of initGroupColor\" (click)=\"changeGroupColor(item.group.boardId, item.group.id, color)\" class=\"group-color-item\" [ngStyle]=\"{'background': color}\"></a>\r\n                              </div>\r\n                            </ng-template>\r\n                            <!-- 分组按钮菜单结束 -->\r\n                            <div\r\n                              *ngFor=\"let column of item.data; let i = index;\"\r\n                              cdkDragLockAxis=\"x\"\r\n                              cdkDrag\r\n                              [cdkDragDisabled]=\"column.type === 'name'\"\r\n                              [ngClass]=\"{'name-column-header-flex': column.type === 'name','column-header-flex': column.type != 'name','cell-shadow': column.type === 'name' && showColumnShadow}\"\r\n                              [ngStyle]=\"{'max-width':column.type !== 'name' ? (column.width?column.width:166) + 'px' : 'auto' }\"\r\n                              [style.flex-basis.px]=\"column.width?column.width:166\">\r\n                              <!-- 暂不启用动态创建方式 -->\r\n                              <!--<template groupData=\"{{group | transforStringJson}}\" columnData=\"{{column | transforStringJson}}\" #dynamicColumnComponent></template>-->\r\n                              <!--=========== 列组件开始 ===========-->\r\n                              <ng-container [ngSwitch]=\"column.type\">\r\n                                <!--名称组件-->\r\n                                <app-table-column-name\r\n                                  *ngSwitchCase=\"'name'\"\r\n                                  [column]=\"column\"\r\n                                  [boardId]=\"boardId\"\r\n                                  [currentUser]=\"currentUser\"\r\n                                  [renderBoard]=\"renderBoard\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [group]=\"item.group\">\r\n                                </app-table-column-name>\r\n                                <!--文本组件-->\r\n                                <app-table-column-text\r\n                                  *ngSwitchCase=\"'text'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-text>\r\n                                <!--日期组件-->\r\n                                <app-table-column-date\r\n                                  *ngSwitchCase=\"'date'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-date>\r\n                                <!--状态组件-->\r\n                                <app-table-column-status\r\n                                  *ngSwitchCase=\"'status'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-status>\r\n                                <!--人员组件-->\r\n                                <app-table-column-multiple-person\r\n                                  *ngSwitchCase=\"'multiple-person'\"\r\n                                  [column]=\"column\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [group]=\"item.group\"\r\n                                  [renderBoard]=\"renderBoard\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-multiple-person>\r\n                                <!--日期时间组件-->\r\n                                <!--<app-table-column-date-time-->\r\n                                  <!--*ngSwitchCase=\"'date-time'\"-->\r\n                                  <!--[permissionDefinition]=\"permissionDefinition\"-->\r\n                                  <!--[column]=\"column\"-->\r\n                                  <!--[group]=\"item.group\"-->\r\n                                  <!--(nfColumnChange)=\"getColumnChange($event)\">-->\r\n                                <!--</app-table-column-date-time>-->\r\n                                <!--选择器组件-->\r\n                                <app-table-column-select\r\n                                  *ngSwitchCase=\"'select'\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-select>\r\n                                <!--进度组件-->\r\n                                <app-table-column-progress\r\n                                  *ngSwitchCase=\"'progress'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-progress>\r\n                                <!--时间间隔组件-->\r\n                                <app-table-column-time-interval\r\n                                  *ngSwitchCase=\"'time-interval'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-time-interval>\r\n                                <!-- 按钮组件 -->\r\n                                <app-table-column-button\r\n                                  *ngSwitchCase=\"'button'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnRefresh($event)\">\r\n                                </app-table-column-button>\r\n                                <!-- 下拉组件 -->\r\n                                <app-table-column-dropdown\r\n                                  *ngSwitchCase=\"'dropdown'\"\r\n                                  [permissionDefinition]=\"permissionDefinition\"\r\n                                  [column]=\"column\"\r\n                                  [group]=\"item.group\"\r\n                                  (nfColumnChange)=\"getColumnChange($event)\">\r\n                                </app-table-column-dropdown>\r\n                              </ng-container>\r\n                              <!--=========== 列组件结束 ===========-->\r\n                            </div>\r\n                            <!-- 新增列 -->\r\n                            <div class=\"add-column-container-v2\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addColumn : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockAC\">\r\n                                <div class=\"ds-menu-button-container\">\r\n                                  <a\r\n                                    nz-popover\r\n                                    [nzPopoverContent]=\"addColumnTemplate\"\r\n                                    nzPopoverPlacement=\"bottomRight\"\r\n                                    class=\"add-column-menu-button\">\r\n                                    <i nz-icon nzType=\"plus-circle\" nzTheme=\"fill\"></i>\r\n                                  </a>\r\n                                </div>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockAC>\r\n                                <div class=\"ds-menu-button-container\">\r\n                                  <a class=\"add-column-menu-button\">\r\n                                    <i nz-icon nzType=\"plus-circle\" nzTheme=\"fill\"></i>\r\n                                  </a>\r\n                                </div>\r\n                              </ng-template>\r\n                              <ng-template #addColumnTemplate>\r\n                                <div class=\"add-column-menu\">\r\n                                  <ul>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'text')\"><i nz-icon [nzIconfont]=\"'icon-wenben'\"></i>文本</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'link')\"><i nz-icon nzType=\"link\"></i>链接</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'file')\"><i nz-icon nzType=\"file\"></i>文件</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'date')\"><i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>日期</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'date-time')\"><i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>日期时间</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'time-interval')\"><i nz-icon [nzIconfont]=\"'icon-riqi'\"></i>时间区间</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'status')\"><i nz-icon [nzIconfont]=\"'icon-zhuangtai'\"></i>状态</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'multiple-person')\"><i nz-icon [nzIconfont]=\"'icon-duoren'\"></i>人员</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'progress')\"><i nz-icon [nzIconfont]=\"'icon-jindutiao'\"></i>进度</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'dropdown')\"><i nz-icon [nzIconfont]=\"'icon-xiala'\"></i>下拉</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'select')\"><i nz-icon [nzIconfont]=\"'icon-select'\"></i>选择器</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'button')\"><i nz-icon [nzIconfont]=\"'icon-button'\"></i>按钮</li>\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'check')\"><i style=\"font-size: 14px; margin-left: 4px;\" nz-icon nzType=\"check\"></i>复选</li>\r\n                                    <!--<li (click)=\"addColumnFun(item.group.boardId, 'relation-data')\"><i nz-icon nzType=\"pull-request\"></i>关联数据</li>-->\r\n                                    <li (click)=\"addColumnFun(item.group.boardId, 'vote')\"><i style=\"font-size: 14px; margin-left: 4px;\" nz-icon nzType=\"like\"></i>投票</li>\r\n                                  </ul>\r\n                                </div>\r\n                              </ng-template>\r\n                            </div>\r\n                            <!-- 表头组件结束 -->\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                      <!-- 表格-列-结束 -->\r\n                    </ng-container>\r\n                    <ng-template #elseBlock>\r\n                      <ng-container *ngIf=\"!item.isFooter;else footerTemp\">\r\n                        <!-- 表格-行-开始 -->\r\n                        <div class=\"pulse-component-wrapper\" style=\"height: 36px;\">\r\n                          <div\r\n                            cdkDragLockAxis=\"y\"\r\n                            cdkDrag\r\n                            (cdkDragDropped)=\"pulseDrop($event)\"\r\n                            class=\"pulse-component single-item-height can-edit\"\r\n                            [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == item.id}\"\r\n                            style=\"height: 36px;line-height: 36px;\">\r\n                            <!-- 行操作图标开始 -->\r\n                            <div class=\"pulse-menu-component\"\r\n                                 (click)=\"clickCurrentPulse(item.id)\"\r\n                                 nz-popover\r\n                                 nzPopoverTrigger=\"click\"\r\n                                 nzPopoverPlacement=\"bottomRight\"\r\n                                 [nzPopoverContent]=\"pulseMenuTemplate\"\r\n                                 style=\"position:sticky;left:0\">\r\n                              <div class=\"ds-menu-button-container\">\r\n                                <div class=\"ds-menu-button\">\r\n                                  <i class=\"pulse-caret-down\" nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n                                </div>\r\n                              </div>\r\n                            </div>\r\n                            <ng-template #pulseMenuTemplate>\r\n                              <div class=\"add-column-menu\">\r\n                                <ul>\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockAP\">\r\n                                    <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archivePulse(item.id)\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockAP>\r\n                                    <li class=\"add-column-menu_disabled\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                                  </ng-template>\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockDP\">\r\n                                    <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removePulse(item.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除任务</li>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockDP>\r\n                                    <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除任务</li>\r\n                                  </ng-template>\r\n                                </ul>\r\n                              </div>\r\n                            </ng-template>\r\n                            <!-- 行操作图标结束 -->\r\n                            <div\r\n                              *ngFor=\"let column of boardColumnData\"\r\n                              [ngClass]=\"{'name-pulse-flex': column.type === 'name','cell-shadow': column.type === 'name' && showColumnShadow}\"\r\n                              [ngStyle]=\"{'max-width':column.type !== 'name' ? (column.width?column.width:166) + 'px' : 'auto'}\"\r\n                              class=\"cell-component\"\r\n                              [style.flex-basis.px]=\"column.width?column.width:166\">\r\n                              <!-- 暂不启用动态创建方式 -->\r\n                              <!--<template-->\r\n                              <!--pulseData=\"{{item | transforStringJson}}\"-->\r\n                              <!--columnData=\"{{column | transforStringJson}}\" #dynamicPulseComponent>-->\r\n                              <!--</template>-->\r\n                              <!--=========== 行组件开始 ===========-->\r\n                              <ng-container [ngSwitch]=\"column.type\">\r\n                                <ng-container *ngSwitchCase=\"'name'\">\r\n                                  <div class=\"name-cell-component\">\r\n                                    <div class=\"pulse-left-indicator can-edit\" [style.background]=\"boardGroupMapData[item.groupId].color\" [style.color]=\"boardGroupMapData[item.groupId].color\">\r\n                                      <div\r\n                                        [ngClass]=\"{'open-selection': item.isPulseOpenSelection}\"\r\n                                        class=\"left-indicator-inner\">\r\n                                        <div\r\n                                          (click)=\"pulseCheckedChange(item)\"\r\n                                          [ngClass]=\"{'selected': item.isPulseChecked}\"\r\n                                          class=\"left-indicator-checkbox\">\r\n                                          <div class=\"left-indicator-checkbox-mark iconfont iconfont-check\"></div>\r\n                                        </div>\r\n                                      </div>\r\n                                    </div>\r\n                                    <app-table-pulse-name\r\n                                      class=\"name-cell-text\"\r\n                                      [group]=\"boardGroupMapData[item.groupId]\"\r\n                                      [column]=\"column\"\r\n                                      [currentUser]=\"currentUser\"\r\n                                      [renderBoard]=\"renderBoard\"\r\n                                      [boardData]=\"boardData\"\r\n                                      [permissionDefinition]=\"permissionDefinition\"\r\n                                      [pulse]=\"item\"></app-table-pulse-name>\r\n                                    <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.viewPost : ''\">\r\n                                      <div class=\"conversation-indicator-component\">\r\n                                        <div\r\n                                          nz-tooltip\r\n                                          nzTooltipTitle=\"开始对话\"\r\n                                          (click)=\"openConversationDialog(boardData.id, column, item)\"\r\n                                          class=\"conversation-indicator-icon\">\r\n                                          <ng-container *ngIf=\"(item.updatesCount - item.updatesReadCount) == 0;else conversationIconTemp\">\r\n                                            <i nz-icon [nzIconfont]=\"'icon-message'\"></i>\r\n                                          </ng-container>\r\n                                          <ng-template #conversationIconTemp>\r\n                                            <i nz-icon [nzIconfont]=\"'icon-message'\" style=\"color:#009AFF\"></i>\r\n                                            <span class=\"updates-count\">{{item.updatesCount - item.updatesReadCount}}</span>\r\n                                          </ng-template>\r\n                                        </div>\r\n                                      </div>\r\n                                    </ng-template>\r\n                                    <!-- 对话抽屉 -->\r\n                                    <nz-drawer nzWrapClassName=\"custom-modal\"\r\n                                               [nzVisible]=\"item.isConversationDialogVisible\"\r\n                                               [nzWidth]=\"1200\"\r\n                                               [nzClosable]=\"true\"\r\n                                               (nzOnClose)=\"closeConversationDialog(item)\">\r\n                                      <nf-conversation\r\n                                        *ngIf=\"item.isConversationDialogVisible\"\r\n                                        [boardData]=\"boardData\"\r\n                                        [nfData]=\"conversationBaseData\"></nf-conversation>\r\n                                    </nz-drawer>\r\n                                  </div>\r\n                                </ng-container>\r\n                                <!--文本组件-->\r\n                                <app-table-pulse-text\r\n                                  *ngSwitchCase=\"'text'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-text>\r\n                                <!--日期组件-->\r\n                                <app-table-pulse-date\r\n                                  *ngSwitchCase=\"'date'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-date>\r\n                                <!--状态组件-->\r\n                                <app-table-pulse-status\r\n                                  *ngSwitchCase=\"'status'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [boardData]=\"boardData\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-status>\r\n                                <!--人员组件-->\r\n                                <app-table-pulse-multiple-person\r\n                                  *ngSwitchCase=\"'multiple-person'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [boardData]=\"boardData\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-multiple-person>\r\n                                <!--日期时间组件-->\r\n                                <!--<app-table-pulse-date-time-->\r\n                                  <!--*ngSwitchCase=\"'date-time'\"-->\r\n                                  <!--[group]=\"boardGroupMapData[item.groupId]\"-->\r\n                                  <!--[column]=\"column\"-->\r\n                                  <!--[pulse]=\"item\">-->\r\n                                <!--</app-table-pulse-date-time>-->\r\n                                <!--选择器组件-->\r\n                                <app-table-pulse-select\r\n                                  *ngSwitchCase=\"'select'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [boardData]=\"boardData\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-select>\r\n                                <!--进度组件-->\r\n                                <app-table-pulse-progress\r\n                                  *ngSwitchCase=\"'progress'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-progress>\r\n                                <!--时间间隔组件-->\r\n                                <app-table-pulse-time-interval\r\n                                  *ngSwitchCase=\"'time-interval'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-time-interval>\r\n                                <!--按钮组件-->\r\n                                <app-table-pulse-button\r\n                                  *ngSwitchCase=\"'button'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [boardData]=\"boardData\"\r\n                                  [column]=\"column\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-button>\r\n                                <!--下拉组件-->\r\n                                <app-table-pulse-dropdown\r\n                                  *ngSwitchCase=\"'dropdown'\"\r\n                                  [group]=\"boardGroupMapData[item.groupId]\"\r\n                                  [column]=\"column\"\r\n                                  [boardData]=\"boardData\"\r\n                                  [pulse]=\"item\">\r\n                                </app-table-pulse-dropdown>\r\n                              </ng-container>\r\n                              <!--=========== 行组件开始 ===========-->\r\n                            </div>\r\n                            <!-- 新增留空区域 -->\r\n                            <div class=\"pulse-right-indicator\"></div>\r\n                          </div>\r\n                        </div>\r\n                        <!-- 表格-行-结束 -->\r\n                      </ng-container>\r\n                      <ng-template #footerTemp>\r\n                        <!-- 表格底部开始 -->\r\n                        <div class=\"group-footer-wrapper\">\r\n                          <div class=\"group-footer-component\">\r\n                            <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addPulse : ''\">\r\n                              <ng-container *ngFor=\"let column of boardColumnData;\">\r\n                                <div class=\"add-pulse-component\" *ngIf=\"column.type === 'name'\">\r\n                                  <div class=\"empty-block-before-add-pulse\" style=\"position:sticky;left:0\"></div>\r\n                                  <div class=\"add-pulse-left-indicator\" style=\"position:sticky;left:30px\" [style.background]=\"item.group.color\"></div>\r\n                                  <div style=\"position:sticky;left:38px\">\r\n                                    <div\r\n                                      *ngIf=\"editNameId !== 'add' + item.group.id + column.id; else editAddPulseTpl\"\r\n                                      [ngStyle]=\"{'width':column.type === 'name' ? column.width + 'px' : '500px' }\"\r\n                                      (click)=\"changeAddPulseEditable(item.group.id, column.id, $event, 'addPulseInput')\"\r\n                                      class=\"set-addpulse\">\r\n                                      + 添加\r\n                                    </div>\r\n                                    <ng-template #editAddPulseTpl>\r\n                                      <input\r\n                                        nz-input\r\n                                        #addPulseInput\r\n                                        [ngStyle]=\"{'width':column.type === 'name' ? column.width + 'px' : '500px' }\"\r\n                                        type=\"text\"\r\n                                        class=\"add-pulse-input\"\r\n                                        [(ngModel)]=\"addPulseNameValue\"\r\n                                        (keyup.enter)=\"addPulse(item.group.boardId, item.group.id)\"\r\n                                        placeholder=\"+ 添加\">\r\n                                      <button (click)=\"addPulse(item.group.boardId, item.group.id)\" type=\"button\" class=\"add-pulse-button\">确定</button>\r\n                                    </ng-template>\r\n                                    <div class=\"add-pulse-right-indicator\"></div>\r\n                                  </div>\r\n                                </div>\r\n                              </ng-container>\r\n                            </ng-template>\r\n                          </div>\r\n                        </div>\r\n                        <!-- 表格底部结束 -->\r\n                      </ng-template>\r\n                    </ng-template>\r\n                  </div>\r\n                </ng-container>\r\n              </cdk-virtual-scroll-viewport>\r\n            </ng-container>\r\n            <!-- 渲染列表结束 -->\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 批量操作 begin -->\r\n<div class=\"batch-component-wrapper\" *ngIf=\"pulseCheckedData.pulseIds && pulseCheckedData.pulseIds.length > 0\">\r\n  <div class=\"batch-actions-menu-wrapper react-boards slide-enter-done\">\r\n    <div class=\"num-of-actions_wrapper\">\r\n      <div class=\"num-of-actions\">{{pulseCheckedData.pulseIds.length}}</div>\r\n    </div>\r\n    <div class=\"batch-actions-title-section\">\r\n      <div class=\"title\">选中的任务</div>\r\n      <div class=\"pulses_dots\">\r\n        <div *ngFor=\"let item of pulseCheckedData.pulseIds\" class=\"dot\" style=\"background: #2196F3;\"></div>\r\n      </div>\r\n    </div>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.movePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEP\">\r\n      <div class=\"batch-actions-item\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"movePulsePopVisible\"\r\n           nzPopoverTitle=\"选择分组\" [nzPopoverContent]=\"movePulseTemplate\" nzPopoverPlacement=\"top\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"color: rgb(131, 131, 131); font-size: 26px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n      <ng-template #movePulseTemplate>\r\n        <div style=\"padding: 5px;\">\r\n          <div class=\"move-pulse-op\" *ngFor=\"let group of boardGroupData\">\r\n            <div style=\"width: 8px; margin: 11px 5px 11px 0; border-radius: 20px;\" [style.background-color]=\"group.color\"></div>\r\n            <div style=\"width: calc(100% - 13px); border-radius: 4px; padding: 5px 5px; font-weight: 600;\" (click)=\"moveToGroup(group)\">\r\n              {{group.title}}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n    </ng-template>\r\n    <ng-template #elseBlockEP>\r\n      <div class=\"batch-actions-item disable\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"color: rgb(131, 131, 131); font-size: 26px;\" nz-icon nzType=\"send\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEP\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchEditPulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockEP>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockAPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchArchivePulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockAPA>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchDeletePulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockDPA>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"batch-actions-delete-item\" (click)=\"closeBatchMenu()\">\r\n      <i nz-icon nzType=\"close\" nzTheme=\"outline\"></i>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 批量操作 end -->\r\n<!-- 弹窗批量编辑 -->\r\n<ng-template #modalTplContent>\r\n  <nf-pulse-card\r\n    #pulseCard\r\n    *ngIf=\"isBatchEditVisible\"\r\n    [taskView]=\"'table'\"\r\n    [pulseIds]=\"pulseCheckedId\"\r\n    [nfData]=\"boardData\"\r\n    (nfChangeData)=\"getPulseCardData($event)\"></nf-pulse-card>\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleAddCancel()\">取消</button>\r\n  <button\r\n    nz-button\r\n    nzType=\"primary\"\r\n    nz-popconfirm\r\n    nzPopconfirmTitle=\"是否确认批量修改？\"\r\n    (nzOnConfirm)=\"handleAddOk()\"\r\n    [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3},"arguments":["nfData"]}]}],"nfUpdateTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":113,"character":3}}]}],"addPulseInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":114,"character":3},"arguments":["addPulseInput"]}]}],"inputElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":115,"character":3},"arguments":[{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputDirective","line":115,"character":13},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":115,"character":39}}]}]}],"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":116,"character":3},"arguments":["pulseCard"]}]}],"tplFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":117,"character":3},"arguments":["tplFooter",{"static":true}]}]}],"modalTplContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":118,"character":3},"arguments":["modalTplContent",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":126,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":126,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":120,"character":30},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":122,"character":32},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":123,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":124,"character":19},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"Object"}]}],"handleClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":128,"character":3},"arguments":["window:click",["$event"]]}]}],"onResize":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":141,"character":3},"arguments":["window:resize",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"handleBoardData":[{"__symbolic":"method"}],"recombinationBoardPulseData":[{"__symbolic":"method"}],"calcBoardWidth":[{"__symbolic":"method"}],"sortClass":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"listenerScroll":[{"__symbolic":"method"}],"onWindowScroll":[{"__symbolic":"method"}],"getVisibleHeight":[{"__symbolic":"method"}],"getVisibleSize":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"removeGroup":[{"__symbolic":"method"}],"changeGroupColor":[{"__symbolic":"method"}],"archiveGroup":[{"__symbolic":"method"}],"groupAuthorityChange":[{"__symbolic":"method"}],"getAuthorityMember":[{"__symbolic":"method"}],"groupAuthorityConfirm":[{"__symbolic":"method"}],"addColumnFun":[{"__symbolic":"method"}],"getColumnChange":[{"__symbolic":"method"}],"getColumnRefresh":[{"__symbolic":"method"}],"selectGroup":[{"__symbolic":"method"}],"changeAddPulseEditable":[{"__symbolic":"method"}],"addPulse":[{"__symbolic":"method"}],"removePulse":[{"__symbolic":"method"}],"archivePulse":[{"__symbolic":"method"}],"clickCurrentPulse":[{"__symbolic":"method"}],"updatePulseChecked":[{"__symbolic":"method"}],"columnDrop":[{"__symbolic":"method"}],"groupDrop":[{"__symbolic":"method"}],"pulseDrop":[{"__symbolic":"method"}],"addFilterColumn":[{"__symbolic":"method"}],"removeFilterColumn":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"isExist":[{"__symbolic":"method"}],"trackByItems":[{"__symbolic":"method"}],"setProgressValue":[{"__symbolic":"method"}],"progressAverage":[{"__symbolic":"method"}],"progressCheckboxChange":[{"__symbolic":"method"}],"submitProgressConfig":[{"__symbolic":"method"}],"progressCalcValue":[{"__symbolic":"method"}],"openConversationDialog":[{"__symbolic":"method"}],"closeConversationDialog":[{"__symbolic":"method"}],"pulseCheckedChange":[{"__symbolic":"method"}],"closeBatchMenu":[{"__symbolic":"method"}],"moveToGroup":[{"__symbolic":"method"}],"getPulseCardData":[{"__symbolic":"method"}],"batchEditPulse":[{"__symbolic":"method"}],"handleAddCancel":[{"__symbolic":"method"}],"handleAddOk":[{"__symbolic":"method"}],"batchArchivePulse":[{"__symbolic":"method"}],"batchDeletePulse":[{"__symbolic":"method"}]}},"ɵct":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-table-column-name","providers":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":10,"character":27}],"template":"<div class=\"name-column-header\" [style.color]=\"groupData.color\">\r\n  <div class=\"column-header-inner\">\r\n    <div class=\"collapse-group-button\">\r\n      <div class=\"collapse-group-toggle-component\">\r\n        <i class=\"arrow top\" nz-icon nzType=\"up\" nzTheme=\"outline\"></i>\r\n        <i class=\"arrow bottom\" nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\r\n      </div>\r\n    </div>\r\n    <!--<i class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>-->\r\n    <div class=\"group-name\" [style.width.px]=\"columnData.width\">\r\n      <div class=\"ds-editable-component\">\r\n        <ng-template\r\n          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupName : ''\"\r\n          [ngxPermissionsOnlyElse]=\"elseBlockEGN\">\r\n          <div class=\"ds-text-component\" nz-tooltip nzTooltipTitle=\"{{groupData.title}}\">\r\n            <input\r\n              style=\"font-size:18px;text-align: left;\"\r\n              [style.color]=\"groupData.color\"\r\n              (keyup.enter)=\"modifyColumnName(groupData.title, groupData.boardId, groupData.id, groupData.color)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"groupData.title\"\r\n              (blur)=\"modifyColumnName(groupData.title, groupData.boardId, groupData.id, groupData.color)\" />\r\n          </div>\r\n        </ng-template>\r\n        <ng-template #elseBlockEGN>\r\n          <div class=\"ds-text-component\" nz-tooltip nzTooltipTitle=\"{{groupData.title}}\">\r\n            {{groupData.title}}\r\n          </div>\r\n        </ng-template>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":15,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵcu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-table-view-abstract","template":"","styles":[""]}]}],"members":{"ChangeColumn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3},"arguments":["column"]}]}],"ChangeBoardId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3},"arguments":["boardId"]}]}],"ChangeGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3},"arguments":["group"]}]}],"ChangeCurrentUser":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3},"arguments":["currentUser"]}]}],"ChangePermission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3},"arguments":["permissionDefinition"]}]}],"ChangeRenderBoard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3},"arguments":["renderBoard"]}]}],"nfColumnChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":69,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":71,"character":21},{"__symbolic":"reference","name":"TaskService"}]}],"handleClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":74,"character":3},"arguments":["window:click",["$event"]]}]}],"ngOnInit":[{"__symbolic":"method"}],"modifyColumnName":[{"__symbolic":"method"}],"modifyColumnHeader":[{"__symbolic":"method"}],"removeColumn":[{"__symbolic":"method"}],"columnPermissionSet":[{"__symbolic":"method"}],"handleColumnPermission":[{"__symbolic":"method"}],"columnEncryptChange":[{"__symbolic":"method"}],"handleColumnEncrypt":[{"__symbolic":"method"}],"clickCurrentColumn":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"columnSelectMember":[{"__symbolic":"method"}],"handleMemberCancel":[{"__symbolic":"method"}],"batchSettingMember":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"handleBatchAddMemberCancel":[{"__symbolic":"method"}],"handleBatchAttachOk":[{"__symbolic":"method"}],"batchUpdateBoardMember":[{"__symbolic":"method"}],"buttonRelationChange":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"buttonRelationClick":[{"__symbolic":"method"}]}},"ɵcv":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-table-column-text","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header text-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECA>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCA>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":12,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵcw":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-table-column-date","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header date-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECB>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCB>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":12,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵcx":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-status","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header text-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECC\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECC>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制\r\n          </li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <li\r\n      nz-menu-item\r\n      nz-popover\r\n      nzPopoverTrigger=\"click\"\r\n      nzPopoverPlacement=\"left\"\r\n      [nzPopoverContent]=\"columnStatusConfigTemplate\">\r\n      <i nz-icon [nzIconfont]=\"'icon-zidingyilie'\" style=\"font-size: 18px;\"></i> 列设置\r\n    </li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCC\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCC>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n<ng-template #columnStatusConfigTemplate>\r\n  <div class=\"column-status-config\">\r\n    <div class=\"column-status-config__title\">设置需要关联外部请求的状态 <i nz-tooltip nzTooltipTitle=\"设置后已关联的状态在置状态时会调外部接口\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i></div>\r\n    <div class=\"column-status-config__list\">\r\n      <ng-container *ngFor=\"let item of columnData.labels\">\r\n        <div *ngIf=\"item.index !== 0\" class=\"column-status-config__list-item\">\r\n          <div class=\"item-color\" [style.background]=\"item.color\">{{item.label}}</div>\r\n          <div class=\"item-context\" nz-tooltip nzTooltipTitle=\"例如：system，非必填\"><input nz-input placeholder=\"微服务名\" [(ngModel)]=\"item.context\" /></div>\r\n          <div class=\"item-url\"  nz-tooltip nzTooltipTitle=\"例如：/v1/xxxxx\"><input  nz-input placeholder=\"请求地址\" [(ngModel)]=\"item.url\" /></div>\r\n          <div class=\"item-relation\" nz-tooltip nzTooltipTitle=\"当任务无法置状态时，可强制置关联的状态\">\r\n            <nz-select style=\"width:130px\" [(ngModel)]=\"item.relationStatus\" nzPlaceHolder=\"选择关联状态\">\r\n              <ng-container *ngFor=\"let o of columnData.labels\">\r\n                <nz-option *ngIf=\"o.index !== item.index && o.index !== 0\" [nzValue]=\"o.index\" [nzLabel]=\"o.label\"></nz-option>\r\n              </ng-container>\r\n            </nz-select>\r\n          </div>\r\n          <!--<div class=\"item-remark\"  nz-tooltip nzTooltipTitle=\"当请求返回false时，仍可以强制置状态\"><label nz-checkbox [(ngModel)]=\"item.forceSetState\">可强制置状态</label></div>-->\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n    <div class=\"column-status-config__bottom\">\r\n      <button nz-button nzType=\"primary\" (click)=\"submitSet()\">确定</button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"submitSet":[{"__symbolic":"method"}]}},"ɵcy":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-progress","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header text-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECE\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECE>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-item nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"right\" [nzPopoverContent]=\"columnProgressConfigTemplate\">\r\n      <i nz-icon [nzIconfont]=\"'icon-zidingyilie'\" style=\"font-size: 18px;\"></i> 列设置</li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCE\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCE>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n<ng-template #columnProgressConfigTemplate>\r\n  <div class=\"column-progress-config\">\r\n    <div class=\"column-progress-config__title\">进度设置</div>\r\n    <div class=\"column-progress-config__subtitle\">选择影响进度的状态列</div>\r\n    <div class=\"column-progress-config__list\">\r\n      <nz-checkbox-wrapper (nzOnChange)=\"progressCheckboxChange($event)\" style=\"width:100%\">\r\n        <ul>\r\n          <ng-container *ngFor=\"let item of this.boardColumnData\">\r\n            <li *ngIf=\"item.type === 'status'\">\r\n              <div class=\"column-progress-config__list-left\">\r\n                <label nz-checkbox nzValue=\"{{item.id}}\" [ngModel]=\"item.checked\">{{item.title}}</label>\r\n              </div>\r\n              <div class=\"column-progress-config__list-right\">\r\n                <nz-input-group nzAddOnAfter=\"%\" nzSize=\"small\">\r\n                  <input class=\"column-progress-config__list-input\" [disabled]=\"!item.checked\" type=\"text\" nz-input [(ngModel)]=\"item.value\" />\r\n                </nz-input-group>\r\n              </div>\r\n            </li>\r\n          </ng-container>\r\n        </ul>\r\n      </nz-checkbox-wrapper>\r\n      <nz-divider style=\"margin-top:5px\"></nz-divider>\r\n      <div class=\"column-progress-config__save\">\r\n        <button [disabled]=\"progressSubmitState\" (click)=\"submitProgressConfig()\" nzSize=\"small\" nz-button nzType=\"primary\">保存</button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"ChangeRenderBoard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3},"arguments":["renderBoard"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":19,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"setProgressValue":[{"__symbolic":"method"}],"progressAverage":[{"__symbolic":"method"}],"progressCheckboxChange":[{"__symbolic":"method"}],"submitProgressConfig":[{"__symbolic":"method"}],"progressCalcValue":[{"__symbolic":"method"}]}},"ɵcz":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-table-pulse-name","template":"<div class=\"cell-common-height\" style=\"width:100%\">\r\n  <!--<i class=\"edit-icon\" nz-icon [nzIconfont]=\"'iconfont-filled-edit'\"></i>-->\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\" nz-tooltip nzTooltipTitle=\"{{pulseData.columnValues[columnData.id]}}\">\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockP0\">\r\n        <input\r\n          (keyup.enter)=\"modifyColumnName(pulseData.id, pulseData.columnValues[columnData.id], columnData.id)\"\r\n          class=\"editable-input\"\r\n          type=\"text\"\r\n          style=\"height: 34px;\"\r\n          nzSize=\"small\"\r\n          nz-tooltip=\"{{pulseData.columnValues[columnData.id] && pulseData.columnValues[columnData.id].length > ((columnData.width||517) - 70)/13 ?pulseData.columnValues[columnData.id]:''}}\"\r\n          [(ngModel)]=\"pulseData.columnValues[columnData.id]\"\r\n          (blur)=\"modifyColumnName(pulseData.id, pulseData.columnValues[columnData.id], columnData.id)\" />\r\n      </ng-template>\r\n      <ng-template #elseBlockP0>\r\n          <span style=\"cursor: default;padding-left:30px\">\r\n            {{pulseData.columnValues[columnData.id]}}\r\n          </span>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":14,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵda":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-table-pulse-abstract","template":"<p>table-pulse-abstract works!</p>\r\n","styles":[""]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3},"arguments":["boardData"]}]}],"ChangeRenderBoard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3},"arguments":["renderBoard"]}]}],"ChangeColumn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3},"arguments":["column"]}]}],"ChangePulse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3},"arguments":["pulse"]}]}],"ChangeGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3},"arguments":["group"]}]}],"ChangePermission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3},"arguments":["permissionDefinition"]}]}],"ChangeUser":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3},"arguments":["currentUser"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":57,"character":21},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":59,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"modifyColumnName":[{"__symbolic":"method"}],"modifyColumnText":[{"__symbolic":"method"}],"modifyColumnDateTime":[{"__symbolic":"method"}],"modifyColumnDate":[{"__symbolic":"method"}],"updateFilterData":[{"__symbolic":"method"}],"generateColumnValue":[{"__symbolic":"method"}],"isExist":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"getTimeInterval":[{"__symbolic":"method"}],"buttonRelationClick":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"getButtonUserIds":[{"__symbolic":"method"}],"openButtonConfig":[{"__symbolic":"method"}],"removeButtonConfig":[{"__symbolic":"method"}],"editButtonConfig":[{"__symbolic":"method"}],"buttonConfigAdd":[{"__symbolic":"method"}],"buttonConfigChange":[{"__symbolic":"method"}],"buttonConfigSubmit":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"getMaxId":[{"__symbolic":"method"}]}},"ɵdb":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-table-pulse-date","template":"<div class=\"cell-common-height date-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <ng-container *ngIf=\"pulseData.columnValues[columnData.id]\">\r\n        <ng-template\r\n          [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n          [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n          <nz-date-picker\r\n            class=\"date-editable\"\r\n            nzSize=\"small\"\r\n            [(ngModel)]=\"pulseData.columnValues[columnData.id].date\"\r\n            (ngModelChange)=\"modifyColumnDate(pulseData.id, columnData.id, $event)\">\r\n          </nz-date-picker>\r\n        </ng-template>\r\n        <ng-template #elseBlockPB>\r\n          <nz-date-picker\r\n            nzDisabled\r\n            class=\"date-editable\"\r\n            nzSize=\"small\"\r\n            [(ngModel)]=\"pulseData.columnValues[columnData.id].date\"\r\n            (ngModelChange)=\"modifyColumnDate(pulseData.id, columnData.id, $event)\">\r\n          </nz-date-picker>\r\n        </ng-template>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":14,"character":30},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":15,"character":24}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-progress","template":"<div class=\"cell-common-height progress-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <div class=\"progress-container\">\r\n        <nz-progress [nzPercent]=\"pulseData.columnValues[columnData.id]\" nzStatus=\"active\"></nz-progress>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdd":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-status","template":"<div class=\"cell-common-height status-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockPC\">\r\n        <nf-status [nfBoardData]=\"boardData\" [nfGroupData]=\"groupData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\"></nf-status>\r\n      </ng-template>\r\n      <ng-template #elseBlockPC>\r\n        <nf-status [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfGroupData]=\"groupData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\"></nf-status>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵde":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-text","template":"<div class=\"cell-common-height text-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n        <textarea\r\n          style=\"margin-top: 0;line-height: 26px\"\r\n          rows=\"1\"\r\n          class=\"editable-input\"\r\n          type=\"text\"\r\n          nzSize=\"small\"\r\n          [(ngModel)]=\"pulseData.columnValues[columnData.id]\"\r\n          nz-popover\r\n          [nzPopoverContent]=\"textContentTemplate\"\r\n          nzPopoverPlacement=\"rightTop\"\r\n          (blur)=\"modifyColumnText(pulseData, columnData, pulseData.columnValues[columnData.id])\">\r\n        </textarea>\r\n      </ng-template>\r\n      <ng-template #elseBlockPA>\r\n          <span style=\"cursor: default\" nz-popover [nzPopoverContent]=\"textContentTemplate\" nzPopoverPlacement=\"bottomLeft\">\r\n            {{pulseData.columnValues[columnData.id]}}\r\n          </span>\r\n      </ng-template>\r\n      <ng-template #textContentTemplate>\r\n        <div style=\"max-width:500px;min-width: 20px; word-break: break-all;\">\r\n          <pre style=\"white-space: pre-wrap; max-height: 500px;\">{{pulseData.columnValues[columnData.id]}}</pre>\r\n        </div>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdf":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-multiple-person","template":"<div class=\"cell-common-height multiple-person-cell-content\">\r\n  <div class=\"multiple-person-cell-component\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockPD\">\r\n      <nf-multiple-person [nfBoardData]=\"boardData\" [nfGroupData]=\"groupData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\" (updateFilterData)=\"updateFilterData(columnData.id)\"></nf-multiple-person>\r\n    </ng-template>\r\n    <ng-template #elseBlockPD>\r\n      <nf-multiple-person [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfGroupData]=\"groupData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\"></nf-multiple-person>\r\n    </ng-template>\r\n  </div>\r\n</div>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdg":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-multiple-person","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header multiple-person-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECD\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECD>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n      <li nz-menu-item (click)=\"batchSettingMember(columnData.id)\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量设置人员</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量设置人员</li>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量追加人员</li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCD\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCD>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n<!-- 批量设置成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isBatchAddMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleBatchAddMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"批量设置人员\"\r\n  [nzFooter]=\"addModalFooter\">\r\n  <div class=\"dialog-wrapper\" *ngIf=\"isBatchAddMemberVisible\">\r\n    <div style=\"margin:0 0 10px 0;font-weight: 600;\">选择任务</div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedTaskValue\"\r\n      nzPlaceHolder=\"选择任务\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      [nzMode]=\"'multiple'\">\r\n      <nz-option *ngFor=\"let o of taskList\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n    </nz-select>\r\n    <div style=\"margin:15px 0 10px 0;font-weight: 600;\">选择成员 <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" nz-tooltip nzTooltipTitle=\"一键为当前列所选任务设置成员\"></i></div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedMemberValue\"\r\n      nzPlaceHolder=\"选择成员\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      [nzMode]=\"'multiple'\"\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      [nzDropdownRender]=\"renderTemplate\">\r\n      <nz-option *ngFor=\"let o of memberList\" [nzValue]=\"o\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n  </div>\r\n  <ng-template #addModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleBatchAddMemberCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" [disabled]=\"!(selectedTaskValue.length > 0 && selectedMemberValue.length > 0)\" [nzLoading]=\"isBatchAddMemberLoading\" (nzOnConfirm)=\"handleBatchAttachOk()\" nz-popconfirm nzPopconfirmTitle=\"此操作会批量修改任务，是否确认提交?\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}]}},"ɵdh":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-select","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header select-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECG\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECG>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCG\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCG>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-select","template":"<div class=\"cell-common-height selete-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockPF\">\r\n        <nf-select [nfBoardData]=\"boardData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\"></nf-select>\r\n      </ng-template>\r\n      <ng-template #elseBlockPF>\r\n        <nf-select [isDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\"></nf-select>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdj":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-date-time","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header date-time-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECB>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCB>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-time-interval","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header time-interval-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECB>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCB\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCB>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}]}},"ɵdl":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-time-interval","template":"<div class=\"cell-common-height time-interval-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <ng-container *ngIf=\"pulseData.columnValues[columnData.id]\">\r\n        <ng-template\r\n          [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n          [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n          <nz-range-picker class=\"date-editable\" nzSize=\"small\" [(ngModel)]=\"pulseData.columnValues[columnData.id].date\" (ngModelChange)=\"getTimeInterval(pulseData.id, columnData.id, $event)\"></nz-range-picker>\r\n        </ng-template>\r\n        <ng-template #elseBlockPB>\r\n          <nz-range-picker nzDisabled class=\"date-editable\" nzSize=\"small\" [ngModel]=\"pulseData.columnValues[columnData.id].date\"></nz-range-picker>\r\n        </ng-template>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdm":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-button","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header button-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECB>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-item nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"right\" [nzPopoverContent]=\"columnButtonConfigTemplate\">\r\n      <i nz-icon [nzIconfont]=\"'icon-zidingyilie'\" style=\"font-size: 18px;\"></i> 列设置</li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCE\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCE>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n  <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n    <ul nz-menu style=\"min-width:150px\">\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n        <li nz-submenu [nzTitle]=\"dmt\">\r\n          <ul *ngIf=\"!columnData.permissionType\">\r\n            <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n            <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n          </ul>\r\n          <ul *ngIf=\"columnData.permissionType\">\r\n            <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n              <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n              <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n              取消限制</li>\r\n            <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n              <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n            </li>\r\n          </ul>\r\n          <ng-template #dmt>\r\n            <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            列权限\r\n          </ng-template>\r\n        </li>\r\n      </ng-template>\r\n      <ng-template #elseBlockSPA>\r\n        <li nz-menu-item style=\"color:#ccc\">\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </li>\r\n      </ng-template>\r\n      <li nz-menu-item nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"right\" [nzPopoverContent]=\"columnButtonConfigTemplate\"><i nz-icon [nzIconfont]=\"'icon-zidingyilie'\"></i> 列设置</li>\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n        <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n          <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n          <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n          <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n        </li>\r\n      </ng-template>\r\n      <ng-template #elseBlockSE>\r\n        <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n          <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n          <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n          <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n        </li>\r\n      </ng-template>\r\n      <li nz-menu-divider></li>\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockDCH\">\r\n        <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n      </ng-template>\r\n      <ng-template #elseBlockDCH>\r\n        <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n      </ng-template>\r\n    </ul>\r\n  </nz-dropdown-menu>\r\n  <ng-template #columnButtonConfigTemplate>\r\n    <div class=\"column-progress-config\">\r\n      <div class=\"column-progress-config__title\">设置</div>\r\n      <div class=\"column-progress-config__subtitle\">选择可以关联{{columnData.title}}的列 <i nz-tooltip nzTooltipTitle=\"获取关联列的按钮配置\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i></div>\r\n      <div class=\"column-progress-config__list\">\r\n        <nz-select (ngModelChange)=\"buttonRelationChange($event, columnData)\" style=\"width:100%\" nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" [(ngModel)]=\"columnData.config.relation\">\r\n          <nz-option nzLabel=\"不关联\" nzValue=\"0\"></nz-option>\r\n          <ng-container *ngFor=\"let item of this.boardColumnData\">\r\n            <ng-container *ngIf=\"item.type == 'select'\">\r\n              <nz-option [nzLabel]=\"item.title\" [nzValue]=\"item.id\"></nz-option>\r\n            </ng-container>\r\n          </ng-container>\r\n        </nz-select>\r\n      </div>\r\n    </div>\r\n  </ng-template>\r\n\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}]}},"ɵdn":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-dropdown","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header dropdown-header\">\r\n  <div class=\"column-header-inner\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockECB\">\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">\r\n            <input\r\n              (keyup.enter)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\"\r\n              class=\"editable-input\"\r\n              type=\"text\"\r\n              [(ngModel)]=\"columnData.title\"\r\n              (blur)=\"modifyColumnHeader(columnData.title, groupData.boardId, columnData.id)\" />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockECB>\r\n      <div class=\"column-header-element-wrapper\">\r\n        <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n          <i *ngIf=\"columnData.permissionType === 'lock'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          <i *ngIf=\"columnData.permissionType === 'hide'\" (click)=\"columnSelectMember(columnData)\" class=\"column_header_icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n        </ng-template>\r\n      </div>\r\n      <div class=\"title-wrapper\">\r\n        <div class=\"column-title\">\r\n          <div class=\"ds-text-component\">{{columnData.title}}</div>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"column-header-element-wrapper\">\r\n      <div\r\n        (click)=\"clickCurrentColumn(columnData.id, groupData.id)\"\r\n        nz-dropdown\r\n        nzTrigger=\"click\"\r\n        [nzDropdownMenu]=\"menu\"\r\n        class=\"column-menu\">\r\n        <div class=\"ds-menu-button-container\">\r\n          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"resize-column\"></div>\r\n</div>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n  <ul nz-menu style=\"min-width:150px\">\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n      <li nz-submenu [nzTitle]=\"dmt\">\r\n        <ul *ngIf=\"!columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet('lock', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n          <li nz-menu-item (click)=\"columnPermissionSet('hide', columnData.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n        </ul>\r\n        <ul *ngIf=\"columnData.permissionType\">\r\n          <li nz-menu-item (click)=\"columnPermissionSet(columnData.permissionType, columnData.id, 'false')\">\r\n            <i *ngIf=\"columnData.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n            <i *ngIf=\"columnData.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n            取消限制</li>\r\n          <li nz-menu-item (click)=\"columnSelectMember(columnData)\">\r\n            <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n          </li>\r\n        </ul>\r\n        <ng-template #dmt>\r\n          <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n          列权限\r\n        </ng-template>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSPA>\r\n      <li nz-menu-item style=\"color:#ccc\">\r\n        <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n        列权限\r\n      </li>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n      <li nz-menu-item (click)=\"columnEncryptChange(columnData)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <ng-template #elseBlockSE>\r\n      <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n        <ng-container *ngIf=\"!columnData.encrypt\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'false'\">列加密</ng-container>\r\n        <ng-container *ngIf=\"columnData.encrypt == 'true'\">取消加密</ng-container>\r\n      </li>\r\n    </ng-template>\r\n    <li nz-menu-divider></li>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDCF\">\r\n      <li (click)=\"removeColumn(groupData.boardId, columnData.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n    <ng-template #elseBlockDCF>\r\n      <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n    </ng-template>\r\n  </ul>\r\n</nz-dropdown-menu>\r\n\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfBoardId]=\"groupData.boardId\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}]}},"ɵdo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-button","template":"<div class=\"cell-common-height button-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <!-- 0 不关联 -->\r\n      <ng-container *ngIf=\"columnData.config && columnData.config.relation === '0'\">\r\n        <ng-container *ngFor=\"let list of columnData.config.original\">\r\n          <button (click)=\"buttonCustomClick(columnData, pulseData)\" [nzLoading]=\"clickButtonLoading\" *ngIf=\"pulseData.columnValues[columnData.id] && list.id == pulseData.columnValues[columnData.id].original\" [nzSize]=\"'small'\" nz-button [nzType]=\"list.type\" [disabled]=\"!list.usable\">{{list.title}}</button>\r\n        </ng-container>\r\n        <ng-template [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\">\r\n          <span\r\n            class=\"button-pulse-config-icon\"\r\n            nz-popover\r\n            nzPopoverTrigger=\"click\"\r\n            nzPopoverPlacement=\"leftBottom\"\r\n            (click)=\"openButtonConfig(pulseData.id, columnData)\"\r\n            [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == pulseData.id}\"\r\n            [nzPopoverContent]=\"buttonTemplate\">\r\n            <i nz-icon [nzIconfont]=\"'icon-peizhi'\"></i>\r\n          </span>\r\n        </ng-template>\r\n        <ng-template #buttonTemplate>\r\n          <div class=\"button-config-wrapper\">\r\n            <div class=\"button-config_select\">\r\n              <div class=\"button-config_select-radio\" *ngIf=\"buttonConfigStatus\">\r\n                <div class=\"button-config_select-title\">选择显示的按钮：</div>\r\n                <nz-radio-group (ngModelChange)=\"buttonSelectChange($event, pulseData.id, columnData)\" [(ngModel)]=\"pulseData.columnValues[columnData.id].original\" style=\"width:100%\">\r\n                  <label style=\"width:100%;margin-bottom:5px\" *ngFor=\"let item of columnData.config.original\" nz-radio [nzValue]=\"item.id\">\r\n                    {{item.title}}\r\n                    <span class=\"button-config_select-radio-edit\">\r\n                      <i (click)=\"editButtonConfig(item)\" nz-tooltip nzTooltipTitle=\"编辑\" nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                    </span>\r\n                    <span class=\"button-config_select-radio-remove\">\r\n                      <ng-container *ngIf=\"item.notRemove\">\r\n                        <i style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"按钮已经使用，无法删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                      </ng-container>\r\n                      <ng-container *ngIf=\"!item.notRemove\">\r\n                        <i (click)=\"removeButtonConfig(item.id, columnData)\" nz-tooltip nzTooltipTitle=\"删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                      </ng-container>\r\n                    </span>\r\n                  </label>\r\n                </nz-radio-group>\r\n              </div>\r\n              <div class=\"button-config_select-add\" *ngIf=\"!buttonConfigStatus\">\r\n                <nz-form-item>\r\n                  <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigTitle\">按钮名称：</nz-form-label>\r\n                  <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                    <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigTitle\" />\r\n                  </nz-form-control>\r\n                </nz-form-item>\r\n                <nz-form-item>\r\n                  <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否可用：</nz-form-label>\r\n                  <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                    <nz-switch (ngModelChange)=\"buttonConfigChange($event)\" [ngModel]=\"buttonConfigDisabled\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                  </nz-form-control>\r\n                </nz-form-item>\r\n                <nz-form-item>\r\n                  <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigUrl\">请求地址：</nz-form-label>\r\n                  <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                    <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigUrl\" />\r\n                  </nz-form-control>\r\n                </nz-form-item>\r\n              </div>\r\n              <nz-divider></nz-divider>\r\n              <div class=\"button-config_edit-status\" (click)=\"buttonConfigAdd()\" *ngIf=\"buttonConfigStatus\"><div>新增</div></div>\r\n              <div class=\"button-config_edit-status\" (click)=\"buttonConfigSubmit(buttonConfigEditStatus?'edit':'add', columnData)\" *ngIf=\"!buttonConfigStatus\"><div>提交</div></div>\r\n            </div>\r\n          </div>\r\n        </ng-template>\r\n      </ng-container>\r\n      <!-- 关联 -->\r\n      <ng-container *ngIf=\"columnData.config && columnData.config.relation !== '0'\">\r\n        <ng-container *ngFor=\"let col of boardData.boardData.columns\">\r\n          <ng-container *ngIf=\"col.id == columnData.config.relation\">\r\n            <ng-container *ngFor=\"let option of col.config.button\">\r\n              <button *ngIf=\"option.id == pulseData.columnValues[columnData.config.relation].button\" [nzSize]=\"'small'\" nz-button [nzType]=\"option.type\" [disabled]=\"!option['usable']\" (click)=\"buttonRelationClick(option.url, pulseData.id)\">{{option.title}}</button>\r\n            </ng-container>\r\n          </ng-container>\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdp":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-dropdown","template":"<div class=\"cell-common-height dropdown-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      <ng-template\r\n        [ngxPermissionsOnly]=\"pulseData.columnPermissions[columnData.id]\"\r\n        [ngxPermissionsOnlyElse]=\"elseBlockPE\">\r\n        <nf-dropdown [nfBoardData]=\"boardData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\" (updateFilterData)=\"updateFilterData(columnData.id)\"></nf-dropdown>\r\n      </ng-template>\r\n      <ng-template #elseBlockPE>\r\n        <nf-dropdown [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"pulseData\" [nfColumnData]=\"columnData\"></nf-dropdown>\r\n      </ng-template>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":["@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.board-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;display:flex;flex-direction:column;height:100%;user-select:none}.board-wrapper .board-header{position:relative}.board-content-component{box-sizing:content-box;height:100%;padding-bottom:0;padding-left:10px;padding-top:18px}.board-content-wrapper{box-sizing:content-box;padding-right:30px;width:100%}.board-content-items{height:100%;outline:none}.board-content-items,.group-header-wrapper{position:relative;width:100%}.group-header-component:not(.renaming-group),.name-column-header{display:flex;position:relative}.name-column-header{align-items:center;background-color:hsla(0,0%,100%,.5);flex:1 0 308px;font-size:18px;min-height:40px;min-width:0;padding-bottom:1px;text-align:left;z-index:1}.name-column-header-flex{flex:1 0 308px;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.column-header{border-right:1px solid #fff;color:#323338;font-size:14px;font-weight:400;min-height:40px;min-width:0;padding:10px 0 0;position:relative;text-align:center}.column-header,.column-header-flex{flex-grow:0;flex-shrink:0}.column-header:hover{background-color:#f5f6f8}.group-header-component .group-menu{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;padding-bottom:1px;position:relative;z-index:2}.group-menu-button i{font-size:15px;transform:rotate(90deg)}.column-header .column-header-inner{align-items:center;display:flex;justify-content:center;margin:0 5px}.column-header .title-wrapper{align-items:center;display:flex;flex-direction:row;justify-content:center;width:100%}.column-header .column-header-element-wrapper{width:20px}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-left:-10px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle{opacity:1}.ds-menu-button-container{margin-right:0}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-header-inner .column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}.group-header-component .add-column-container-v2{flex:0 0 38px;font-size:19px;max-width:38px;min-width:0;padding:7px 4px 0;text-align:center}.name-column-header .group-name{position:relative;transition:margin-left .1s ease}.name-column-header .group-name a{text-decoration:none}.name-column-header .group-name.renaming-group{flex:1 0 auto;margin-right:8px;transition:none}.name-column-header .group-name:not(.renaming-group){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-column-header .group-name .router{padding-left:3px;padding-right:3px}.name-column-header .group-name .router:hover{background:#f1f1f1;border:1px solid #e1e1e1;margin-left:5px;text-decoration:none}.name-column-header .group-name .router:not(:hover) em{background:#b5daf0;background:#cce9ff;color:#333;padding:3px 0}.name-column-header:hover.can-edit .column-header-inner .group-name:not(.renaming-group){margin-left:45px}.name-column-header:hover.can-edit.can-not-drag .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header:hover.can-edit.resizing .column-header-inner .group-name:not(.renaming-group){margin-left:0}.name-column-header:hover:not(.can-edit) .column-header-inner .group-name:not(.renaming-group){margin-left:25px}.name-column-header .collapse-group-button{-ms-grid-row-align:center;align-self:center;display:none;position:absolute}.name-column-header:hover .column-header-inner .collapse-group-button{display:inline-block}.collapse-group-toggle-component{align-items:center;background:#e1e1e1;border-radius:50%;color:#666;cursor:pointer;display:flex;flex-direction:column;height:18px;line-height:19px;margin-left:5px;margin-top:5px;position:relative;text-align:center;width:18px}.collapse-group-toggle-component:hover{background:#d1d1d1}.collapse-group-toggle-component .line{font-size:0;transition:font-size .3s}.collapse-group-toggle-component .arrow{font-size:8px;font-weight:700;left:0;position:absolute;width:100%}.collapse-group-toggle-component .arrow.top{top:8px;transition:top .198s}.collapse-group-toggle-component .arrow.bottom{bottom:8px;transition:bottom .198s}.collapse-group-toggle-component.collapsed .arrow.top{top:0}.collapse-group-toggle-component.collapsed .arrow.bottom{bottom:5px}.group-header-component .column-name-drag .drag-handle{color:#626262;cursor:move;display:block;font-size:15px;left:20px;position:absolute;top:12px}.group-header-component .column-name-drag:hover .drag-handle{display:block}.column-drag-handle,.group-drag-handle,.pulse-drag-handle{cursor:move}.column-header .resize-column,.name-column-header .resize-column{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background .1s ease;width:4px}.column-header:hover .resize-column:hover,.name-column-header:hover .resize-column:hover{background-color:#0085ff}.pulse-component-wrapper{background-color:#f5f6f8;position:relative;width:100%;z-index:0}.pulse-component-wrapper:hover{background:#e6e9ef}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-component{border-bottom:1px solid #fff;display:flex}.pulse-component.can-edit{cursor:pointer}.pulse-menu-component{align-items:center;background-color:#fff!important;display:flex;flex:0 0 30px;justify-content:center;max-width:30px;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.navigation-focus.cell-component{background-color:#e5f4ff}.cell-component.name-cell{flex:1 0 308px;height:100%;will-change:transform}.cell-component:not(.color-cell){border-bottom:1px solid #e6e9ef}.cell-component{border-right:1px solid #fff;color:#666;font-size:13px;font-weight:400;line-height:34px;overflow:hidden;position:relative;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.cell-component:not(.name-cell){flex:0 0}.cell-component.text-cell{min-width:0;overflow:visible}.pulse-component .pulse-right-indicator{background-color:#f5f6f8;border-bottom:1px solid #e6e9ef;border-right:8px solid #e6e9ef;flex:0 0 38px;max-width:38px}.name-cell-text{align-items:center;display:flex;flex:1;font-weight:400;line-height:24px;min-width:0;padding-left:10px;text-decoration:none}.name-cell-component{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component .pulse-left-indicator{flex:0 0 8px;height:100%;position:relative;transition:flex-basis .1s ease-in}.name-cell-component .pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.name-cell-component .pulse-left-indicator.renaming:before{width:0}.name-cell-component .pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.name-cell-component .pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.name-cell-component .pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.name-cell-component .pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.name-cell-component,.name-cell-left-indicator{align-items:center;display:flex;height:100%;padding:0 10px 0 0;text-align:left}.name-cell-component.floating{background-color:hsla(0,0%,98%,.95);box-shadow:2px 0 8px -6px}.name-cell-component:hover{cursor:pointer}.name-cell-component:hover .edit-icon{display:block}.name-cell-component .edit-icon{color:#bbb;display:none;flex:0 0 24px;font-size:18px;line-height:24px;order:1;padding-top:5px;text-align:center}.name-cell-component .edit-icon:hover{background-color:#e0e0e0;color:#888}.name-cell-component .edit-icon:hover.light-name-cell-component{background-color:transparent}.name-cell-component .edit-icon:hover~.ds-editable-component,.name-cell-component .edit-icon:hover~.name-cell-light-text{border:1px dashed #c5c7d0}.name-cell-component .subtasks-icon{text-align:center}.name-cell-component .number-of-linked-items{left:auto!important;margin:0;position:static!important}.name-cell-text .ds-editable-component{border:1px dashed transparent}.name-pulse-flex{flex:1 0 308px!important;left:30px;position:-webkit-sticky;position:sticky;z-index:9}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.cell-common-height>*{height:34px}.text-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.ds-editable-component{width:100%}.date-cell-component,.status-cell-component{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.conversation-indicator-component{display:flex;justify-content:center;padding:0 4px}.conversation-indicator-icon{color:#c5c7d0;font-size:25px;position:relative}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;text-align:center;top:13px}.group-footer-wrapper{position:relative;width:100%;z-index:0}.group-footer-component{height:72px}.add-pulse-component{display:flex;position:relative}.add-pulse-component .empty-block-before-add-pulse{background-color:#fff!important;width:30px;z-index:2}.add-pulse-component .add-pulse-left-indicator{flex:0 0 8px;opacity:.5;transition:opacity .1s ease}.add-pulse-component .add-pulse-input{background-color:#fff;border:1px solid transparent;border-radius:0;flex:1 1 auto;font-size:14px;font-weight:400;height:35px;outline:none;padding-left:15px;text-align:left}.add-pulse-component .add-pulse-button{background-color:#0085ff;border:none;bottom:0;color:#fff;cursor:pointer;opacity:0;outline:none;padding:0 12px;position:absolute;right:0;top:0;transition:opacity .1s ease}.add-pulse-component .add-pulse-right-indicator{border-right:8px solid #e6e9ef;opacity:.5;transition:width .3s ease;width:8px;z-index:1}.add-pulse-component:after{border-right:8px solid #f1f1f1;bottom:0;content:\"\";position:absolute;right:0;top:0}.add-pulse-component.focused .add-pulse-right-indicator{background-color:#f5f6f8;opacity:1;width:38px}.add-pulse-component:focus .add-pulse-button,.add-pulse-component:hover .add-pulse-button,.add-pulse-component:hover .add-pulse-left-indicator,.add-pulse-component:hover .add-pulse-right-indicator{opacity:1}.add-pulse-component .add-pulse-input:-ms-input-placeholder{color:#676879}.add-pulse-component .add-pulse-input::-moz-placeholder{color:#676879}.add-pulse-component .add-pulse-input::placeholder{color:#676879}.add-pulse-component .add-pulse-input:focus{border:1px solid #0085ff}.add-pulse-component .add-pulse-input:hover{border:1px solid #e6e9ef}.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.set-column-current-bg{background:#f5f6f8}.set-column-current-bg .column-header-element-wrapper .caret-down,.set-column-current-bg .drag-handle{opacity:1}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;width:100%}.editable-input:focus,.editable-input:hover{border:1px dashed transparent}.editable-input:focus{background:#fff}::ng-deep .set-editable .ant-input{background:transparent;border:1px solid transparent;border-radius:0;text-align:center}::ng-deep .set-editable .ant-input:focus,::ng-deep .set-editable .ant-input:hover{background:transparent;border:1px dashed transparent;border-radius:0}::ng-deep .date-editable .ant-input{background:#f0f0f0;border:1px solid transparent;border-radius:0}::ng-deep .date-editable .ant-input:hover{background:#f5f5f5;border:1px dashed rgba(0,0,0,.5)}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component:hover{border:1px dashed #c5c7d0;cursor:text}.status-cell-component .ds-text-component{cursor:pointer}.status-cell-component .ds-text-component:hover{border:1px dashed transparent}.column-title{cursor:text}.cdk-drag-preview{background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.virtual-viewport{height:800px;width:100%}.cell-shadow{background:hsla(60,20%,98%,.8)!important;box-shadow:3px 2px 3px rgba(0,0,0,.08)}.virtual-viewport::-webkit-scrollbar-track-piece{-webkit-border-radius:0;background-color:#d8e0e6}.virtual-viewport::-webkit-scrollbar{height:10px;width:10px}.virtual-viewport::-webkit-scrollbar-thumb{background-color:rgba(85,85,85,.2);border:1px solid rgba(85,85,85,.2)}.virtual-viewport::-webkit-scrollbar-thumb:hover{background-color:rgba(85,85,85,.3);border:1px solid rgba(85,85,85,.3)}.column_header_icon{margin-left:15px}.title-wrapper .editable-input{text-align:center}.move-pulse-op{display:flex;padding:3px}.move-pulse-op :hover{background:#009aff;color:#fff;cursor:pointer}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}::ng-deep .column-header .ant-input-suffix{right:4%;top:42%}::ng-deep .name-column-header .ant-input-suffix{right:2%;top:42%}.set-addpulse{border:1px dashed #fff;cursor:text;height:32px;line-height:32px;padding-left:10px}.set-addpulse:hover{border:1px dashed #d5d8de}.title-wrapper .editable-input{margin-top:-15px}.group-authority-content{height:400px;overflow-y:auto;width:300px}.group-authority-content-switch{display:flex;padding:8px 0}.group-authority-content-switch .description{line-height:23px;margin-left:5px;margin-right:10px}.button-pulse-config-icon{position:absolute;right:5px;top:2px}.button-cell-component .button-pulse-config-icon i{cursor:pointer;font-size:18px;opacity:0}.button-cell-component .button-pulse-config-icon i:hover{color:#2196f3}.button-cell-component:hover .button-pulse-config-icon i{opacity:1}.button-cell-component .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:200px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}.progress-container{padding:0 15px}::ng-deep .progress-container .ant-progress-text{color:rgba(0,0,0,.8)}.column-progress-config{padding:5px;width:250px}.column-progress-config__title{font-size:14px;font-weight:700}.column-progress-config__subtitle{margin:5px 0 15px}.column-progress-config__list li{height:30px;position:relative}.column-progress-config__list-left{left:0;position:absolute;width:60%}.column-progress-config__list-right{position:absolute;right:0}.column-progress-config__list-input{border-radius:0;width:50px!important}.column-progress-config__save{margin-top:10px;text-align:center}::ng-deep .ant-progress-inner{background:#fff}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:35px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-status-config{position:relative;width:550px}.column-status-config__title{margin-bottom:15px;margin-top:15px}.column-status-config__list-item{display:flex;margin-bottom:10px}.column-status-config__list-item .item-color{color:#fff;height:32px;line-height:32px;text-align:center;width:100px}.column-status-config__list-item .item-url{margin-left:10px;width:150px}.column-status-config__list-item .item-context{margin-left:10px;width:100px}.column-status-config__list-item .item-relation{margin-left:10px}.column-status-config__bottom{margin-top:15px;text-align:center}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵcu"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-column-create-time","template":"<div\r\n  [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == (columnData.id + groupData.id)}\"\r\n  class=\"column-header create-time-header\">\r\n  <div class=\"column-header-inner\">\r\n    <div class=\"title-wrapper\">\r\n      <div class=\"column-title\">\r\n        <div class=\"ds-text-component\">\r\n          {{columnData.title}}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}]}},"ɵdr":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵda"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-table-pulse-create-time","template":"<div class=\"cell-common-height text-cell-component\">\r\n  <div class=\"ds-editable-component\">\r\n    <div class=\"ds-text-component\">\r\n      {{pulseData.createdAt | date: 'yyyy-MM-dd HH:mm'}}\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":13,"character":30}]}]}},"ɵds":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"task-tree-table","providers":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":19,"character":27}],"template":"<div class=\"application\">\r\n  <div id=\"first-level-content\" class=\"first-level-content\">\r\n    <div class=\"tree-table-component\">\r\n      <div class=\"task-statistics-component\" *ngIf=\"taskStatisticsVisible\">\r\n        <div class=\"task-statistics-item\" *ngFor=\"let item of boardStatisticList\">\r\n          <nz-progress [nzPercent]=\"item.progress\" nzType=\"circle\" [nzWidth]=\"50\"></nz-progress>\r\n          <span nz-tooltip nzTooltipTitle=\"{{item.groupName}}\">{{item.groupName}}</span>\r\n        </div>\r\n      </div>\r\n      <div class=\"tree-table-tabs\">\r\n        <nz-tabset [(nzSelectedIndex)]=\"selectedIndex\" [nzTabBarExtraContent]=\"extraTemplate\">\r\n          <!--<nz-tab (nzSelect)=\"myTaskChange()\" class=\"tree-table-tabs-mytab\" [nzTitle]=\"'我的任务'\"></nz-tab>-->\r\n          <nz-tab (nzSelect)=\"getActiveGroup(group)\" *ngFor=\"let group of boardGroupData\" [nzTitle]=\"groupTitleTemplate\" cdkDrag>\r\n            <ng-template #groupTitleTemplate>\r\n              <span *ngIf=\"boardData.titleLock != 'true'\">\r\n                <a\r\n                  class=\"group-menu-button\"\r\n                  nz-popover\r\n                  nzPopoverTrigger=\"click\"\r\n                  [nzPopoverContent]=\"groupMenuTemplate\"\r\n                  [(nzPopoverVisible)]=\"group.menuPopVisible\"\r\n                  nzPopoverPlacement=\"bottomLeft\"\r\n                  [style.color]=\"group.color\">\r\n                  <i nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i>\r\n                </a>\r\n                <ng-template #groupMenuTemplate>\r\n                  <div class=\"add-column-menu\">\r\n                    <ul>\r\n                      <!--<li (click)=\"collapseGroup(group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-shouqi'\"></i> 折叠当前</li>-->\r\n                      <!--<li (click)=\"collapseAllGroup()\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-shouqi'\"></i> 折叠所有</li>-->\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.groupAuthority : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockAB\">\r\n                        <li nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"group['visible']\" (nzPopoverVisibleChange)=\"groupAuthorityChange(group.id, $event)\"\r\n                            [nzPopoverContent]=\"groupAuthorityTemp\" nzPopoverPlacement=\"rightTop\">\r\n                          <i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限\r\n                        </li>\r\n                        <ng-template #groupAuthorityTemp>\r\n                          <nz-tabset>\r\n                            <nz-tab nzTitle=\"编辑权限\">\r\n                              <div class=\"group-authority-content\">\r\n                                <div class=\"group-authority-content-switch\">\r\n                                  <div class=\"description\">是否开启</div>\r\n                                  <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.edit.status\"></nz-switch>\r\n                                </div>\r\n                                <div *ngIf=\"groupAuthority.edit.status\">\r\n                                  <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.edit.members\" (getData)=\"getAuthorityMember(groupAuthority.edit, $event)\"></nf-member>\r\n                                </div>\r\n                              </div>\r\n                            </nz-tab>\r\n                            <nz-tab nzTitle=\"查看权限\">\r\n                              <div class=\"group-authority-content\">\r\n                                <div class=\"group-authority-content-switch\">\r\n                                  <div class=\"description\">是否开启</div>\r\n                                  <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.view.status\"></nz-switch>\r\n                                </div>\r\n                                <div *ngIf=\"groupAuthority.view.status\">\r\n                                  <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.view.members\" (getData)=\"getAuthorityMember(groupAuthority.view, $event)\"></nf-member>\r\n                                </div>\r\n                              </div>\r\n                            </nz-tab>\r\n                          </nz-tabset>\r\n                          <div style=\"text-align: right;\">\r\n                            <button nz-button nzType=\"primary\" (click)=\"groupAuthorityConfirm(group)\">确定</button>\r\n                          </div>\r\n                        </ng-template>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockAB>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限</li>\r\n                      </ng-template>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archiveGroup : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockAG\">\r\n                        <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archiveGroup(boardId, group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockAG>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                      </ng-template>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupName : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockEGN\">\r\n                        <li (click)=\"editGroupNameDialog(group.title, group.boardId, group.id, group.color)\"><i style=\"font-size:15px;\" nz-icon nzType=\"form\" nzTheme=\"outline\"></i> 编辑组名</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockEGN>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size:15px;\" nz-icon nzType=\"form\" nzTheme=\"outline\"></i> 编辑组名</li>\r\n                      </ng-template>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupColor : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockEGC\">\r\n                        <li nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"changeGroupColorTemplate\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockEGC>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                      </ng-template>\r\n                      <li (click)=\"selectGroup(group)\"><i style=\"font-size:15px\" nz-icon nzType=\"check-circle\" nzTheme=\"outline\"></i> 选中本组</li>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteGroup : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockDG\">\r\n                        <li nz-popconfirm [nzPopconfirmTitle]=\"group.pulses && group.pulses.length > 0 ? '当前分组下存在任务，删除分组会同时删除分组下的任务，是否确认删除?' : '是否确认删除?'\" (nzOnConfirm)=\"removeGroup(boardId, group.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockDG>\r\n                        <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                      </ng-template>\r\n                    </ul>\r\n                  </div>\r\n                </ng-template>\r\n                <ng-template #changeGroupColorTemplate>\r\n                  <div class=\"group-color-dialog\">\r\n                    <a *ngFor=\"let item of initGroupColor\" (click)=\"changeGroupColor(group.boardId, group.id, item)\" class=\"group-color-item\" [ngStyle]=\"{'background': item}\"></a>\r\n                  </div>\r\n                </ng-template>\r\n                <span nz-tooltip=\"{{group.title}}\" style=\"font-size:15px;\" [style.color]=\"group.color\">\r\n                 {{group.title}}\r\n                </span>\r\n                <!--                <ng-template-->\r\n                <!--                  [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupName : ''\"-->\r\n                <!--                  [ngxPermissionsOnlyElse]=\"elseBlockEGN\">-->\r\n                <!--                  <span nz-tooltip=\"{{group.title}}\" style=\"font-size:18px;\" [style.color]=\"group.color\">-->\r\n                <!--                    <input-->\r\n                <!--                      [style.color]=\"group.color\"-->\r\n                <!--                      (keyup.enter)=\"modifyGroupName(group.title, group.boardId, group.id, group.color)\"-->\r\n                <!--                      class=\"editable-input\"-->\r\n                <!--                      type=\"text\"-->\r\n                <!--                      nz-input-->\r\n                <!--                      [(ngModel)]=\"group.title\"-->\r\n                <!--                      (blur)=\"modifyGroupName(group.title, group.boardId, group.id, group.color)\" />-->\r\n                <!--                  </span>-->\r\n                <!--                </ng-template>-->\r\n                <!--                <ng-template #elseBlockEGN>-->\r\n                <!--                <span nz-tooltip=\"{{group.title}}\" style=\"font-size:18px;\" [style.color]=\"group.color\">-->\r\n                <!--                 {{group.title}}-->\r\n                <!--                </span>-->\r\n                <!--                </ng-template>-->\r\n              </span>\r\n              <span *ngIf=\"boardData.titleLock == 'true'\">\r\n                <a\r\n                  class=\"group-menu-button\"\r\n                  [style.color]=\"group.color\">\r\n                  <i nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i>\r\n                </a>\r\n                <span nz-tooltip=\"{{group.title}}\" style=\"font-size:18px;\" [style.color]=\"group.color\">\r\n                 {{group.title}} <i class=\"column-title-lock\" nz-tooltip=\"标题已锁定，请联系管理员修改\" nz-icon nzType=\"lock\"></i>\r\n                </span>\r\n              </span>\r\n            </ng-template>\r\n          </nz-tab>\r\n        </nz-tabset>\r\n        <ng-template #extraTemplate>\r\n          <div *ngIf=\"showFilter\" class=\"filter-button\" nz-popover [nzPopoverContent]=\"filterTemplate\" nzPopoverPlacement=\"leftTop\" nzPopoverTrigger=\"click\">\r\n            <button [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"filter\" nzTheme=\"outline\"></i> 筛选 <ng-container *ngIf=\"filterConditionCount > 0\">/{{filterConditionCount}}</ng-container></button>\r\n          </div>\r\n          <button *ngIf=\"taskSystemParameter && taskSystemParameter.tools && taskSystemParameter.tools == 'statistics'\" (click)=\"taskStatisticsChange()\" [nzType]=\"taskStatisticsVisible?'primary':'default'\" style=\"margin-right:5px\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"pie-chart\" nzTheme=\"outline\"></i> 统计</button>\r\n          <button (click)=\"openAddTaskDialog()\" nzType=\"primary\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i> 添加任务</button>\r\n          <button (click)=\"openTaskRulesDialog()\" style=\"margin-left:5px\" nzType=\"primary\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"schedule\" nzTheme=\"outline\"></i> 任务规则管理</button>\r\n        </ng-template>\r\n      </div>\r\n      <!-- 筛选逻辑 -->\r\n      <ng-template #filterTemplate>\r\n        <!--<nf-task-filter [nfBoardData]=\"boardData\"></nf-task-filter>-->\r\n        <div style=\"margin: -8px;\">\r\n          <div style=\"max-width: calc(80vw - 420px); min-width: 680px;\">\r\n            <div style=\"height:50px; padding: 22px 0 0px 0;\">\r\n              <div style=\"display: flex; padding-left: 10px;\">\r\n            <span style=\"flex: 1 1 auto;\">\r\n              <b style=\"margin-right: 5px;\">过滤你的面板</b>\r\n              <ng-container *ngIf=\"boardData.boardData && boardData.boardData.pulses\">\r\n                <ng-container *ngIf=\"boardPulseData.length == boardData.boardData.pulses.length\">共 {{boardPulseData.length}} 条</ng-container>\r\n                <ng-container *ngIf=\"boardPulseData.length < boardData.boardData.pulses.length\">\r\n                  显示 {{boardData.boardData.pulses.length}}条 中的 {{boardPulseData.length}} 条\r\n                  <a style=\"padding-left: 16px;\" (click)=\"clearFilterCondition()\">清除</a>\r\n                </ng-container>\r\n              </ng-container>\r\n            </span>\r\n                <div style=\"flex: 1 1 auto; text-align: right;\">\r\n                  <button nz-button nzSize=\"small\" style=\"margin-right: 10px;\" (click)=\"useLastCondition()\">使用上次的过滤条件</button>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div style=\"max-width: calc(80vw - 420px); min-width: 680px; overflow-x: auto;\">\r\n            <div style=\"height: 320px; padding: 25px; display: flex; min-width: 480px;\" [style.width]=\"((filterData.columns.length + 1) * 130) + 'px'\">\r\n              <div style=\"width: 120px; margin-right: 10px;\">\r\n                <div class=\"filter-item-title\">分组</div>\r\n                <div>\r\n                  <a class=\"filter-option\" [style.color]=\"group.color\" *ngFor=\"let group of filterData.groups; let i = index;\" (click)=\"chooseGroup(group, i)\">\r\n                    <div class=\"filter-option-content\">\r\n                      {{group.name}}\r\n                    </div>\r\n                  </a>\r\n                </div>\r\n                <ng-container *ngIf=\"filterData.selectedGroups && filterData.selectedGroups.length > 0\">\r\n                  <div>\r\n                    已选择 {{filterData.selectedGroups.length}} 项\r\n                  </div>\r\n                  <div>\r\n                    <a class=\"filter-option selected\" style=\"background-color: #d9f0ff;\" [style.color]=\"group.color\" *ngFor=\"let group of filterData.selectedGroups; let i = index;\" (click)=\"removeGroupFilter(group, i)\">\r\n                      <div class=\"filter-option-content\">\r\n                        {{group.name}}\r\n                      </div>\r\n                    </a>\r\n                  </div>\r\n                </ng-container>\r\n              </div>\r\n              <div style=\"width: 120px; margin-right: 10px;\" *ngFor=\"let column of filterData.columns\">\r\n                <div class=\"filter-item-title\">{{column.name}}</div>\r\n                <div class=\"filter-item-content\" [style.max-height]=\"column.maxHeight\">\r\n                  <a class=\"filter-option\" *ngFor=\"let value of column.columnValues; let i = index;\" (click)=\"chooseValue(column, value, i)\">\r\n                    <div class=\"filter-option-content\" [style.display]=\"column.type == 'check'?'inline-block':''\" nz-tooltip\r\n                         nzTooltipTitle=\"{{value.title + (column.type == 'multiple-person'&& value.value ? '(' + value.value + ')' : '')}}\">\r\n                      <span *ngIf=\"value.color\" class=\"status-circle\" [style]=\"{'background-color': value.color, 'border-color': value.color}\"></span>\r\n                      <div style=\"color: #333;\" [style.text-align]=\"column.type == 'check'?'center':'left'\">\r\n                        {{value.title}}\r\n                        <ng-container *ngIf=\"column.type == 'multiple-person' && value.value\">({{value.value}})</ng-container>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"filter-option-counter\">\r\n                      {{value.count}}\r\n                    </div>\r\n                  </a>\r\n                </div>\r\n                <ng-container *ngIf=\"column.selectedValue && column.selectedValue.length > 0\">\r\n                  <div>\r\n                    已选择 {{column.selectedValue.length}} 项\r\n                  </div>\r\n                  <div class=\"filter-item-content\" [style.max-height]=\"column.valueMaxHeight\">\r\n                    <a class=\"filter-option selected\" *ngFor=\"let value of column.selectedValue; let i = index;\" (click)=\"removeValue(column, value, i)\">\r\n                      <div class=\"filter-option-content\" nz-tooltip\r\n                           nzTooltipTitle=\"{{value.title + (column.type == 'multiple-person'&& value.value ? '(' + value.value + ')' : '')}}\">\r\n                        <span *ngIf=\"value.color\" class=\"status-circle\" [style]=\"{'background-color': value.color, 'border-color': value.color}\"></span>\r\n                        <div style=\"color: #333;\">\r\n                          {{value.title}}\r\n                          <ng-container *ngIf=\"column.type == 'multiple-person' && value.value\">({{value.value}})</ng-container>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"filter-option-counter\">\r\n                        {{value.count}}\r\n                      </div>\r\n                    </a>\r\n                  </div>\r\n                </ng-container>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n      <!--===== 任务列表 ======-->\r\n      <div class=\"tree-table-container\">\r\n        <nz-spin [nzSpinning]=\"isSpinning\" nzTip=\"数据处理中，请等候\">\r\n          <nz-table\r\n            #virtualTable\r\n            style=\"margin-left:20px\"\r\n            [nzData]=\"listOfMapData\"\r\n            [nzFrontPagination]=\"false\"\r\n            [nzSize]=\"'small'\"\r\n            [nzScroll]=\"{ y: visibleHeight + 'px' }\"\r\n            nzTableLayout=\"fixed\">\r\n            <thead>\r\n            <tr\r\n              cdkDropList\r\n              cdkDropListOrientation=\"horizontal\"\r\n              (cdkDropListDropped)=\"dropColumn($event)\">\r\n              <th [nzLeft]=\"true\" [nzWidth]=\"'25px'\"></th>\r\n              <ng-container *ngIf=\"boardData.titleLock !== 'true'\">\r\n                <ng-container *ngFor=\"let column of boardColumnData\">\r\n                  <ng-container [ngSwitch]=\"column.type\">\r\n                    <!-- 标题列组件 -->\r\n                    <ng-container *ngSwitchCase=\"'name'\">\r\n                      <th\r\n                        class=\"name-column column-header\"\r\n                        [nzLeft]=\"true\"\r\n                        nz-resizable\r\n                        nzBounds=\"window\"\r\n                        nzPreview\r\n                        (nzResizeEnd)=\"onResize($event, column)\"\r\n                        [nzWidth]=\"column.width + 'px'\">\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupName : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockEGN\">\r\n                          <input\r\n                            (keyup.enter)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\"\r\n                            class=\"editable-column-input\"\r\n                            type=\"text\"\r\n                            nz-input\r\n                            [(ngModel)]=\"column.title\"\r\n                            (blur)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\" />\r\n                        </ng-template>\r\n                        <ng-template #elseBlockEGN>\r\n                          {{column.title}}\r\n                        </ng-template>\r\n                        <nz-resize-handle nzDirection=\"right\">\r\n                          <div class=\"resize-trigger\"></div>\r\n                        </nz-resize-handle>\r\n                      </th>\r\n                      <th [nzWidth]=\"'50px'\">\r\n                        类型\r\n                      </th>\r\n                    </ng-container>\r\n                    <!-- 文本列组件 -->\r\n                    <ng-container *ngSwitchCase=\"'text'\">\r\n                      <th\r\n                        class=\"column-header\"\r\n                        cdkDrag\r\n                        cdkDragLockAxis=\"x\"\r\n                        [nzAlign]=\"'center'\"\r\n                        nz-resizable\r\n                        nzBounds=\"window\"\r\n                        nzPreview\r\n                        [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                        (nzResizeEnd)=\"onResize($event, column)\"\r\n                        [nzWidth]=\"column.width + 'px'\">\r\n                        <div class=\"column-header-left-wrapper\">\r\n                          <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                        </div>\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                          <input\r\n                            (keyup.enter)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\"\r\n                            class=\"editable-column-input\"\r\n                            type=\"text\"\r\n                            nz-input\r\n                            [(ngModel)]=\"column.title\"\r\n                            (blur)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\" />\r\n                        </ng-template>\r\n                        <ng-template #elseBlockECA>\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                            <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                          </ng-template>\r\n                          {{column.title}}\r\n                        </ng-template>\r\n                        <div class=\"column-header-element-wrapper\">\r\n                          <div\r\n                            (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                            nz-dropdown\r\n                            nzTrigger=\"click\"\r\n                            [nzDropdownMenu]=\"menu\"\r\n                            class=\"column-menu\">\r\n                            <div class=\"ds-menu-button-container\">\r\n                              <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                            </div>\r\n                          </div>\r\n                          <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                            <ul nz-menu style=\"min-width:150px\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                                <li nz-submenu [nzTitle]=\"dmt\">\r\n                                  <ul *ngIf=\"!column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                                  </ul>\r\n                                  <ul *ngIf=\"column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                      <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                      <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                      取消限制</li>\r\n                                    <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                      <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                    </li>\r\n                                  </ul>\r\n                                  <ng-template #dmt>\r\n                                    <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                    列权限\r\n                                  </ng-template>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSPA>\r\n                                <li nz-menu-item style=\"color:#ccc\">\r\n                                  <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  列权限\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                                <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSE>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                              </ng-template>\r\n                              <li nz-menu-divider></li>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                                <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockDCA>\r\n                                <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                            </ul>\r\n                          </nz-dropdown-menu>\r\n                        </div>\r\n                        <nz-resize-handle nzDirection=\"right\">\r\n                          <div class=\"resize-trigger\"></div>\r\n                        </nz-resize-handle>\r\n                      </th>\r\n                    </ng-container>\r\n                    <!-- 日期列组件 -->\r\n                    <ng-container *ngSwitchCase=\"'date'\">\r\n                      <th\r\n                        class=\"column-header\"\r\n                        cdkDrag\r\n                        cdkDragLockAxis=\"x\"\r\n                        [nzAlign]=\"'center'\"\r\n                        nz-resizable\r\n                        nzBounds=\"window\"\r\n                        nzPreview\r\n                        [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                        (nzResizeEnd)=\"onResize($event, column)\"\r\n                        [nzWidth]=\"column.width + 'px'\">\r\n                        <div class=\"column-header-left-wrapper\">\r\n                          <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                        </div>\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                          <input\r\n                            (keyup.enter)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\"\r\n                            class=\"editable-column-input\"\r\n                            type=\"text\"\r\n                            nz-input\r\n                            [(ngModel)]=\"column.title\"\r\n                            (blur)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\" />\r\n                        </ng-template>\r\n                        <ng-template #elseBlockECA>\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                            <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                          </ng-template>\r\n                          {{column.title}}\r\n                        </ng-template>\r\n                        <div class=\"column-header-element-wrapper\">\r\n                          <div\r\n                            nz-dropdown\r\n                            nzTrigger=\"click\"\r\n                            [nzDropdownMenu]=\"menu\"\r\n                            (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                            class=\"column-menu\">\r\n                            <div class=\"ds-menu-button-container\">\r\n                              <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                            </div>\r\n                          </div>\r\n                          <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                            <ul nz-menu style=\"min-width:150px\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                                <li nz-submenu [nzTitle]=\"dmt\">\r\n                                  <ul *ngIf=\"!column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                                  </ul>\r\n                                  <ul *ngIf=\"column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                      <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                      <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                      取消限制</li>\r\n                                    <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                      <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                    </li>\r\n                                  </ul>\r\n                                  <ng-template #dmt>\r\n                                    <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                    列权限\r\n                                  </ng-template>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSPA>\r\n                                <li nz-menu-item style=\"color:#ccc\">\r\n                                  <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  列权限\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                                <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSE>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                              </ng-template>\r\n                              <li (click)=\"sortColumn(column)\" nz-menu-item>\r\n                                <i style=\"font-size: 15px;\" *ngIf=\"!column.sort\" nz-icon nzType=\"menu\" nzTheme=\"outline\"></i>\r\n                                <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'asc'\" nz-icon nzType=\"sort-descending\" nzTheme=\"outline\"></i>\r\n                                <i style=\"font-size: 17px;\" *ngIf=\"column.sort == 'desc'\" nz-icon nzType=\"sort-ascending\" nzTheme=\"outline\"></i>\r\n                                排序\r\n                              </li>\r\n                              <li nz-menu-divider></li>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                                <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockDCA>\r\n                                <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                            </ul>\r\n                          </nz-dropdown-menu>\r\n                        </div>\r\n                        <nz-resize-handle nzDirection=\"right\">\r\n                          <div class=\"resize-trigger\"></div>\r\n                        </nz-resize-handle>\r\n                      </th>\r\n                    </ng-container>\r\n                    <!-- 人员列组件 -->\r\n                    <ng-container *ngSwitchCase=\"'multiple-person'\">\r\n                      <th\r\n                        class=\"column-header\"\r\n                        cdkDrag\r\n                        cdkDragLockAxis=\"x\"\r\n                        [nzAlign]=\"'center'\"\r\n                        nz-resizable\r\n                        nzBounds=\"window\"\r\n                        nzPreview\r\n                        [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                        (nzResizeEnd)=\"onResize($event, column)\"\r\n                        [nzWidth]=\"column.width + 'px'\">\r\n                        <div class=\"column-header-left-wrapper\">\r\n                          <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                        </div>\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                          <input\r\n                            (keyup.enter)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\"\r\n                            class=\"editable-column-input\"\r\n                            type=\"text\"\r\n                            nz-input\r\n                            [(ngModel)]=\"column.title\"\r\n                            (blur)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\" />\r\n                        </ng-template>\r\n                        <ng-template #elseBlockECA>\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                            <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                          </ng-template>\r\n                          {{column.title}}\r\n                        </ng-template>\r\n                        <div class=\"column-header-element-wrapper\">\r\n                          <div\r\n                            (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                            nz-dropdown\r\n                            nzTrigger=\"click\"\r\n                            [nzDropdownMenu]=\"menu\"\r\n                            class=\"column-menu\">\r\n                            <div class=\"ds-menu-button-container\">\r\n                              <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                            </div>\r\n                          </div>\r\n                          <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                            <ul nz-menu style=\"min-width:150px\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                                <li nz-submenu [nzTitle]=\"dmt\">\r\n                                  <ul *ngIf=\"!column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                                  </ul>\r\n                                  <ul *ngIf=\"column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                      <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                      <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                      取消限制</li>\r\n                                    <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                      <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                    </li>\r\n                                  </ul>\r\n                                  <ng-template #dmt>\r\n                                    <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                    列权限\r\n                                  </ng-template>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSPA>\r\n                                <li nz-menu-item style=\"color:#ccc\">\r\n                                  <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  列权限\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                                <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                                <li nz-menu-item (click)=\"batchSettingMember(column.id)\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量设置人员</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSE>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-duoren'\"></i> 批量设置人员</li>\r\n                              </ng-template>\r\n                              <li nz-menu-divider></li>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                                <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockDCA>\r\n                                <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                            </ul>\r\n                          </nz-dropdown-menu>\r\n                        </div>\r\n                        <nz-resize-handle nzDirection=\"right\">\r\n                          <div class=\"resize-trigger\"></div>\r\n                        </nz-resize-handle>\r\n                      </th>\r\n                    </ng-container>\r\n                    <!-- 任务完成情况列组件 -->\r\n                    <ng-container *ngSwitchCase=\"'taskProgress'\">\r\n                      <th\r\n                        class=\"column-header\"\r\n                        cdkDrag\r\n                        cdkDragLockAxis=\"x\"\r\n                        [nzAlign]=\"'center'\"\r\n                        nz-resizable\r\n                        nzBounds=\"window\"\r\n                        nzPreview\r\n                        [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                        (nzResizeEnd)=\"onResize($event, column)\"\r\n                        [nzWidth]=\"column.width + 'px'\">\r\n                        <div class=\"column-header-left-wrapper\">\r\n                          <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                        </div>\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                          <input\r\n                            (keyup.enter)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\"\r\n                            class=\"editable-column-input\"\r\n                            type=\"text\"\r\n                            nz-input\r\n                            [(ngModel)]=\"column.title\"\r\n                            (blur)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\" />\r\n                        </ng-template>\r\n                        <ng-template #elseBlockECA>\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                            <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                          </ng-template>\r\n                          {{column.title}}\r\n                        </ng-template>\r\n                        <div class=\"column-header-element-wrapper\">\r\n                          <div\r\n                            (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                            nz-dropdown\r\n                            nzTrigger=\"click\"\r\n                            [nzDropdownMenu]=\"menu\"\r\n                            class=\"column-menu\">\r\n                            <div class=\"ds-menu-button-container\">\r\n                              <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                            </div>\r\n                          </div>\r\n                          <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                            <ul nz-menu style=\"min-width:150px\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                                <li nz-submenu [nzTitle]=\"dmt\">\r\n                                  <ul *ngIf=\"!column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                                  </ul>\r\n                                  <ul *ngIf=\"column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                      <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                      <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                      取消限制</li>\r\n                                    <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                      <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                    </li>\r\n                                  </ul>\r\n                                  <ng-template #dmt>\r\n                                    <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                    列权限\r\n                                  </ng-template>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSPA>\r\n                                <li nz-menu-item style=\"color:#ccc\">\r\n                                  <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  列权限\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                                <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                                <li nz-menu-item (click)=\"openTaskProgressDialog(column.id)\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-zidingyilie'\"></i> 列设置</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSE>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-zidingyilie'\"></i> 列设置</li>\r\n                              </ng-template>\r\n                              <li nz-menu-divider></li>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                                <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockDCA>\r\n                                <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                            </ul>\r\n                          </nz-dropdown-menu>\r\n                        </div>\r\n                        <nz-resize-handle nzDirection=\"right\">\r\n                          <div class=\"resize-trigger\"></div>\r\n                        </nz-resize-handle>\r\n                      </th>\r\n                    </ng-container>\r\n                    <ng-container *ngSwitchDefault>\r\n                      <th\r\n                        class=\"column-header\"\r\n                        cdkDrag\r\n                        cdkDragLockAxis=\"x\"\r\n                        [nzAlign]=\"'center'\"\r\n                        nz-resizable\r\n                        nzBounds=\"window\"\r\n                        nzPreview\r\n                        [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                        (nzResizeEnd)=\"onResize($event, column)\"\r\n                        [nzWidth]=\"column.width + 'px'\">\r\n                        <div class=\"column-header-left-wrapper\">\r\n                          <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                        </div>\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                          <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                          <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                        </ng-template>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockECA\">\r\n                          <input\r\n                            (keyup.enter)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\"\r\n                            class=\"editable-column-input\"\r\n                            type=\"text\"\r\n                            nz-input\r\n                            [(ngModel)]=\"column.title\"\r\n                            (blur)=\"modifyColumnName(column.title, activeGroup.boardId, column.id)\" />\r\n                        </ng-template>\r\n                        <ng-template #elseBlockECA>\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\">\r\n                            <i *ngIf=\"column.permissionType === 'lock'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                            <i *ngIf=\"column.permissionType === 'hide'\" (click)=\"columnSelectMember(column)\" class=\"column-lock-icon\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                          </ng-template>\r\n                          {{column.title}}\r\n                        </ng-template>\r\n                        <div class=\"column-header-element-wrapper\">\r\n                          <div\r\n                            (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                            nz-dropdown\r\n                            nzTrigger=\"click\"\r\n                            [nzDropdownMenu]=\"menu\"\r\n                            class=\"column-menu\">\r\n                            <div class=\"ds-menu-button-container\">\r\n                              <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                            </div>\r\n                          </div>\r\n                          <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                            <ul nz-menu style=\"min-width:150px\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                                <li nz-submenu [nzTitle]=\"dmt\">\r\n                                  <ul *ngIf=\"!column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                                  </ul>\r\n                                  <ul *ngIf=\"column.permissionType\">\r\n                                    <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                      <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                      <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                      取消限制</li>\r\n                                    <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                      <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                    </li>\r\n                                  </ul>\r\n                                  <ng-template #dmt>\r\n                                    <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                    列权限\r\n                                  </ng-template>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSPA>\r\n                                <li nz-menu-item style=\"color:#ccc\">\r\n                                  <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  列权限\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                                <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockSE>\r\n                                <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                                  <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                                  <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                                </li>\r\n                              </ng-template>\r\n                              <li nz-menu-divider></li>\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                                <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockDCA>\r\n                                <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                              </ng-template>\r\n                            </ul>\r\n                          </nz-dropdown-menu>\r\n                        </div>\r\n                        <nz-resize-handle nzDirection=\"right\">\r\n                          <div class=\"resize-trigger\"></div>\r\n                        </nz-resize-handle>\r\n                      </th>\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </ng-container>\r\n              <ng-container *ngIf=\"boardData.titleLock == 'true'\">\r\n                <ng-container *ngFor=\"let column of boardColumnData\">\r\n                  <th\r\n                    class=\"column-header\"\r\n                    cdkDrag\r\n                    cdkDragLockAxis=\"x\"\r\n                    [nzAlign]=\"'center'\"\r\n                    nz-resizable\r\n                    nzBounds=\"window\"\r\n                    nzPreview\r\n                    (nzResizeEnd)=\"onResize($event, column)\"\r\n                    [nzWidth]=\"column.width + 'px'\">\r\n                    <div class=\"column-header-left-wrapper\">\r\n                      <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                    </div>\r\n                    {{column.title}}\r\n                    <div class=\"column-header-element-wrapper\">\r\n                      <div\r\n                        class=\"column-menu\">\r\n                        <div class=\"ds-menu-button-container\">\r\n                          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                    <nz-resize-handle nzDirection=\"right\">\r\n                      <div class=\"resize-trigger\"></div>\r\n                    </nz-resize-handle>\r\n                  </th>\r\n                </ng-container>\r\n              </ng-container>\r\n              <th class=\"name-column-indicator\" [nzRight]=\"true\" [nzWidth]=\"'38px'\">\r\n                <a nz-popover [nzPopoverContent]=\"addColumnTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                  <i class=\"add-field-icon\" nz-icon nzType=\"plus-circle\" nzTheme=\"fill\"></i>\r\n                </a>\r\n                <ng-template #addColumnTemplate>\r\n                  <div class=\"add-column-menu col-menu\" style=\"width:400px\">\r\n                    <nz-tabset nzType=\"card\">\r\n                      <nz-tab [nzTitle]=\"'常用组件'\" *ngIf=\"taskSystemParameter && taskSystemParameter.commonColumn\">\r\n                        <ul>\r\n                          <ng-container *ngFor=\"let item of taskSystemParameter.commonColumn\">\r\n                            <li (click)=\"addColumnFun(activeGroup.boardId, item.code, item.title)\">\r\n                              <i style=\"font-size: 15px; margin-left: 4px;\" nz-icon [nzType]=\"item.icon\"></i>{{item.title}}\r\n                            </li>\r\n                          </ng-container>\r\n                        </ul>\r\n                      </nz-tab>\r\n                      <nz-tab [nzTitle]=\"'日志组件'\" *ngIf=\"taskSystemParameter && taskSystemParameter.logColumn\">\r\n                        <ul>\r\n                          <ng-container *ngFor=\"let item of taskSystemParameter.logColumn\">\r\n                            <li (click)=\"addColumnFun(activeGroup.boardId, item.code, item.title)\">\r\n                              <i style=\"font-size: 15px; margin-left: 4px;\" nz-icon [nzType]=\"item.icon\"></i>{{item.title}}\r\n                            </li>\r\n                          </ng-container>\r\n                        </ul>\r\n                      </nz-tab>\r\n                    </nz-tabset>\r\n                  </div>\r\n                </ng-template>\r\n              </th>\r\n            </tr>\r\n            </thead>\r\n            <tbody cdkDropList (cdkDropListDropped)=\"pulseDrop($event)\">\r\n            <ng-container *ngFor=\"let pulse of listOfMapData\">\r\n              <ng-container *ngFor=\"let item of mapOfExpandedData[pulse.id]\">\r\n                <tr class=\"pulse-component-wrapper\" cdkDrag *ngIf=\"(item.parent && item.parent.expand) || !item.parent\">\r\n                  <td\r\n                    cdkDragHandle\r\n                    [nzLeft]=\"true\"\r\n                    [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == item.id}\"\r\n                    style=\"background: #fff !important;border:none;cursor:move\">\r\n                    <div\r\n                      (click)=\"clickCurrentPulse(item.id)\"\r\n                      nz-popover\r\n                      nzPopoverTrigger=\"click\"\r\n                      nzPopoverPlacement=\"bottomLeft\"\r\n                      [nzPopoverContent]=\"pulseMenuTemplate\"\r\n                      class=\"pulse-menu-component\">\r\n                      <div class=\"ds-menu-button-container\">\r\n                        <div class=\"ds-menu-button\">\r\n                          <i class=\"pulse-caret-down\" nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                    <ng-template #pulseMenuTemplate>\r\n                      <div class=\"add-column-menu\">\r\n                        <ul>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockAP\">\r\n                            <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archivePulse(item.id)\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockAP>\r\n                            <li class=\"add-column-menu_disabled\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                          </ng-template>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockDP\">\r\n                            <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removePulse(item.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除行</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockDP>\r\n                            <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除行</li>\r\n                          </ng-template>\r\n                        </ul>\r\n                      </div>\r\n                    </ng-template>\r\n                  </td>\r\n                  <ng-container *ngFor=\"let column of boardColumnData\">\r\n                    <ng-container [ngSwitch]=\"column.type\">\r\n                      <!-- 标题行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'name'\">\r\n                        <td\r\n                          class=\"name-pulse-column\"\r\n                          [nzLeft]=\"true\"\r\n                          [nzIndentSize]=\"item.level! * 20\"\r\n                          [nzShowExpand]=\"!!item.children\"\r\n                          [(nzExpand)]=\"item.expand\"\r\n                          (nzExpandChange)=\"collapse(mapOfExpandedData[pulse.id], item, $event)\">\r\n                          <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.viewPost : ''\">\r\n                            <div (click)=\"openDialog(activeGroup.boardId, column, item)\" class=\"posts-indicator-component\" nz-tooltip nzTooltipTitle=\"开始对话\">\r\n                              <div class=\"conversation-indicator-icon\">\r\n                                <ng-container *ngIf=\"!(item.updatesCount === 0)\">\r\n                                  <i nz-icon [nzIconfont]=\"'icon-message'\" style=\"color:#009AFF\"></i>\r\n                                  <span class=\"updates-count\">{{item.updatesCount}}</span>\r\n                                </ng-container>\r\n                                <ng-container *ngIf=\"item.updatesCount == 0\">\r\n                                  <i nz-icon [nzIconfont]=\"'icon-message'\"></i>\r\n                                </ng-container>\r\n                              </div>\r\n                            </div>\r\n                          </ng-template>\r\n                          <div class=\"pulse-left-indicator can-edit\" [style.background]=\"activeGroup.color\" [style.color]=\"activeGroup.color\">\r\n                            <div\r\n                              [ngClass]=\"{'open-selection': pulse.isPulseOpenSelection}\"\r\n                              class=\"left-indicator-inner\">\r\n                              <div\r\n                                class=\"left-indicator-checkbox\"\r\n                                [ngClass]=\"{'selected': item.isPulseChecked}\"\r\n                                (click)=\"pulseCheckedChange(item)\">\r\n                                <div class=\"left-indicator-checkbox-mark iconfont iconfont-check\"></div>\r\n                              </div>\r\n                            </div>\r\n                          </div>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockP0\">\r\n                            <div class=\"title-wrapper\">\r\n                              <input\r\n                                (keyup.enter)=\"getColumnName(item.id, item.name, column.id)\"\r\n                                class=\"editable-pulse-name-input\"\r\n                                type=\"text\"\r\n                                nzSize=\"small\"\r\n                                nz-input\r\n                                nz-tooltip=\"{{item.name}}\"\r\n                                [(ngModel)]=\"item.name\"\r\n                                (blur)=\"getColumnName(item.id, item.name, column.id)\"\r\n                              />\r\n                            </div>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockP0>\r\n                            <div class=\"title-wrapper\">\r\n                              {{ item.name }}\r\n                            </div>\r\n                          </ng-template>\r\n                        </td>\r\n                        <td style=\"text-align: center\">\r\n                          <ng-container *ngIf=\"item.taskDef && item.taskDef.taskRoutingInspectionList && item.taskDef.taskRoutingInspectionList.length;else taskTypeTemp\">\r\n<!--                            <i style=\"font-size:18px;color:#858484\" nz-tooltip nzTooltipTitle=\"自动任务\" nz-icon nzType=\"retweet\" nzTheme=\"outline\"></i>-->\r\n                            自动\r\n                          </ng-container>\r\n                          <ng-template #taskTypeTemp>\r\n                            手动\r\n                          </ng-template>\r\n<!--                          <i style=\"font-size:20px;color:#ff4d00\" nz-icon [nzIconfont]=\"'icon-shoudong'\"></i>-->\r\n<!--                          <i nz-tooltip nzTooltipTitle=\"自动任务\" style=\"font-size:20px;color:#328bef\" nz-icon nzType=\"sync\" nzTheme=\"outline\"></i>-->\r\n<!--                          <i style=\"font-size:23px;color:#328bef\" nz-icon [nzIconfont]=\"'icon-zidongchulizhong2'\"></i>-->\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 创建时间组件 -->\r\n                      <ng-container *ngSwitchCase=\"'createTime'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <div style=\"text-align: center;\">{{item.createdAt | date: 'yyyy-MM-dd HH:mm'}}</div>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 文本行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'text'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                            <textarea\r\n                              rows=\"1\"\r\n                              style=\"padding-top:5px;\"\r\n                              class=\"editable-pulse-input\"\r\n                              type=\"text\"\r\n                              nzSize=\"small\"\r\n                              nz-input\r\n                              [(ngModel)]=\"item.columnValues[column.id]\"\r\n                              nz-popover\r\n                              [nzPopoverContent]=\"textContentTemplate\"\r\n                              nzPopoverPlacement=\"rightTop\"\r\n                              (blur)=\"getColumnText(item, column, item.columnValues[column.id])\">\r\n                            </textarea>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockPA>\r\n                          <span style=\"cursor: default\" nz-popover [nzPopoverContent]=\"textContentTemplate\" nzPopoverPlacement=\"bottomLeft\">\r\n                            {{item.columnValues[column.id]}}\r\n                          </span>\r\n                            </ng-template>\r\n                            <ng-template #textContentTemplate>\r\n                              <div style=\"max-width:500px;min-width: 20px; word-break: break-all;\">\r\n                                <pre style=\"white-space: pre-wrap; max-height: 500px;\">{{item.columnValues[column.id]}}</pre>\r\n                              </div>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 日期行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'date'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-container *ngIf=\"item.columnValues[column.id]\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                                <nz-date-picker\r\n                                  class=\"date-editable\"\r\n                                  nzSize=\"small\"\r\n                                  [(ngModel)]=\"item.columnValues[column.id].date\"\r\n                                  (ngModelChange)=\"getColumnDate(item.id, column.id, $event)\">\r\n                                </nz-date-picker>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockPB>\r\n                                <nz-date-picker\r\n                                  nzDisabled\r\n                                  class=\"date-editable\"\r\n                                  nzSize=\"small\"\r\n                                  [(ngModel)]=\"item.columnValues[column.id].date\">\r\n                                </nz-date-picker>\r\n                              </ng-template>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 状态行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'status'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockPC\">\r\n                              <nf-status\r\n                                [nfBoardData]=\"boardData\"\r\n                                [nfGroupData]=\"activeGroup\"\r\n                                [nfPulseData]=\"item\"\r\n                                [nfColumnData]=\"column\"\r\n                                (updateFilterData)=\"updateFilterData(column.id)\"></nf-status>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockPC>\r\n                              <nf-status\r\n                                [nfDisabled]=\"true\"\r\n                                [nfBoardData]=\"boardData\"\r\n                                [nfGroupData]=\"activeGroup\"\r\n                                [nfPulseData]=\"item\"\r\n                                [nfColumnData]=\"column\"></nf-status>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 多级人员组件 -->\r\n                      <ng-container *ngSwitchCase=\"'multiple-level-person'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-multiple-level-person [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-multiple-level-person>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 处理人组件 -->\r\n                      <ng-container *ngSwitchCase=\"'handler'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-handler [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-handler>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 子任务明细组件 -->\r\n                      <ng-container *ngSwitchCase=\"'taskStatus'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-task-status [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-status>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 任务处理组件 -->\r\n                      <ng-container *ngSwitchCase=\"'taskHandle'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockTPA\">\r\n                              <nf-task-handle [nfDisabled]=\"false\" *ngIf=\"item.columnValues[column.id]\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-handle>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockTPA>\r\n                              <nf-task-handle [nfDisabled]=\"true\" *ngIf=\"item.columnValues[column.id]\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-handle>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 任务完成情况组件 -->\r\n                      <ng-container *ngSwitchCase=\"'taskProgress'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockTPB\">\r\n                              <nf-task-progress [nfDisabled]=\"false\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-progress>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockTPB>\r\n                              <nf-task-progress [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-progress>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 任务操作按钮 -->\r\n                      <ng-container *ngSwitchCase=\"'taskButton'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-task-button [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\" [nfPermissionDefinition]=\"permissionDefinition\"></nf-task-button>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 任务异常统计组件 -->\r\n                      <ng-container *ngSwitchCase=\"'taskAbnormalStatistics'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-task-abnormal-statistics [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-abnormal-statistics>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 任务执行时间 -->\r\n                      <ng-container *ngSwitchCase=\"'taskExecuteTime'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-task-execute-time [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-execute-time>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 人员行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'multiple-person'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockPD\">\r\n                              <nf-multiple-person [nfBoardData]=\"boardData\" [nfGroupData]=\"activeGroup\" [nfPulseData]=\"item\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-multiple-person>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockPD>\r\n                              <nf-multiple-person [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfGroupData]=\"activeGroup\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-multiple-person>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 日期时间区间行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'time-interval'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-container *ngIf=\"item.columnValues[column.id]\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                                <nz-range-picker\r\n                                  class=\"date-editable\"\r\n                                  [nzShowTime]=\"false\"\r\n                                  nzFormat=\"yyyy-MM-dd\"\r\n                                  [(ngModel)]=\"item.columnValues[column.id].date\"\r\n                                  (ngModelChange)=\"getTimeInterval(item.id, column.id, $event)\">\r\n                                </nz-range-picker>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockPB>\r\n                                <nz-range-picker\r\n                                  nzDisabled\r\n                                  class=\"date-editable\"\r\n                                  nzSize=\"small\"\r\n                                  [nzShowTime]=\"false\"\r\n                                  nzFormat=\"yyyy-MM-dd\"\r\n                                  [(ngModel)]=\"item.columnValues[column.id].date\">\r\n                                </nz-range-picker>\r\n                              </ng-template>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 下拉组件 -->\r\n                      <ng-container *ngSwitchCase=\"'dropdown'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockPE\">\r\n                              <nf-dropdown [nfBoardData]=\"boardData\" [nfPulseData]=\"pulse\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-dropdown>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockPE>\r\n                              <nf-dropdown [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-dropdown>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 选择器组件 -->\r\n                      <ng-container *ngSwitchCase=\"'select'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockPF\">\r\n                              <nf-select [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-select>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockPF>\r\n                              <nf-select [isDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-select>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 按钮行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'button'\">\r\n                        <td class=\"button-cell\">\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <!-- 0 不关联 -->\r\n                            <ng-container *ngIf=\"column.config && column.config.relation === '0'\">\r\n                              <ng-container *ngFor=\"let list of column.config.original\">\r\n                                <button (click)=\"buttonCustomClick(column, pulse)\" [nzLoading]=\"clickButtonLoading\" *ngIf=\"item.columnValues[column.id] && list.id == item.columnValues[column.id].original\" [nzSize]=\"'small'\" nz-button [nzType]=\"list.type\" [disabled]=\"!list.usable\">{{list.title}}</button>\r\n                              </ng-container>\r\n                              <ng-template [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\">\r\n                            <span\r\n                              class=\"button-pulse-config-icon\"\r\n                              nz-popover\r\n                              nzPopoverTrigger=\"click\"\r\n                              nzPopoverPlacement=\"leftTop\"\r\n                              (click)=\"openButtonConfig(pulse.id, column)\"\r\n                              [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == item.id}\"\r\n                              [nzPopoverContent]=\"buttonTemplate\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-peizhi'\"></i>\r\n                            </span>\r\n                              </ng-template>\r\n                              <ng-template #buttonTemplate>\r\n                                <div class=\"button-config-wrapper\">\r\n                                  <div class=\"button-config_select\">\r\n                                    <div class=\"button-config_select-radio\" *ngIf=\"buttonConfigStatus\">\r\n                                      <div class=\"button-config_select-title\">选择显示的按钮：</div>\r\n                                      <nz-radio-group (ngModelChange)=\"buttonSelectChange($event, pulse.id, column)\" [(ngModel)]=\"item.columnValues[column.id].original\" style=\"width:100%\">\r\n                                        <label style=\"width:100%;margin-bottom:5px\" *ngFor=\"let item of column.config.original\" nz-radio [nzValue]=\"item.id\">\r\n                                          {{item.title}}\r\n                                          <span class=\"button-config_select-radio-edit\">\r\n                                        <i (click)=\"editButtonConfig(item)\" nz-tooltip nzTooltipTitle=\"编辑\" nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                                      </span>\r\n                                          <span class=\"button-config_select-radio-remove\">\r\n                                        <ng-container *ngIf=\"item.notRemove\">\r\n                                          <i style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"按钮已经使用，无法删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                        </ng-container>\r\n                                        <ng-container *ngIf=\"!item.notRemove\">\r\n                                          <i (click)=\"removeButtonConfig(item.id, column)\" nz-tooltip nzTooltipTitle=\"删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                        </ng-container>\r\n                                      </span>\r\n                                        </label>\r\n                                      </nz-radio-group>\r\n                                    </div>\r\n                                    <div class=\"button-config_select-add\" *ngIf=\"!buttonConfigStatus\">\r\n                                      <nz-form-item>\r\n                                        <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigTitle\">按钮名称</nz-form-label>\r\n                                        <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                          <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigTitle\" />\r\n                                        </nz-form-control>\r\n                                      </nz-form-item>\r\n                                      <nz-form-item>\r\n                                        <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否可用</nz-form-label>\r\n                                        <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                          <nz-switch (ngModelChange)=\"buttonConfigChange($event)\" [(ngModel)]=\"buttonConfigDisabled\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                        </nz-form-control>\r\n                                      </nz-form-item>\r\n                                      <nz-form-item>\r\n                                        <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigUrl\">请求地址</nz-form-label>\r\n                                        <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                          <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigUrl\" />\r\n                                        </nz-form-control>\r\n                                      </nz-form-item>\r\n                                      <nz-form-item>\r\n                                        <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否外部地址</nz-form-label>\r\n                                        <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                          <nz-switch [(ngModel)]=\"isExternalUrl\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                        </nz-form-control>\r\n                                      </nz-form-item>\r\n                                    </div>\r\n                                    <div style=\"margin:10px 0 5px 0;\"><nz-divider></nz-divider></div>\r\n                                    <div class=\"button-config_edit-status\" (click)=\"buttonConfigAdd()\" *ngIf=\"buttonConfigStatus\"><div>新增</div></div>\r\n                                    <div class=\"button-config_edit-status\" (click)=\"buttonConfigSubmit(buttonConfigEditStatus?'edit':'add', column)\" *ngIf=\"!buttonConfigStatus\"><div>提交</div></div>\r\n                                  </div>\r\n                                </div>\r\n                              </ng-template>\r\n                            </ng-container>\r\n                            <!-- 关联 -->\r\n                            <ng-container *ngIf=\"column.config && column.config.relation !== '0'\">\r\n                              <ng-container *ngFor=\"let col of boardColumnData\">\r\n                                <ng-container *ngIf=\"col.id == column.config.relation\">\r\n                                  <ng-container *ngFor=\"let option of col.config.button\">\r\n                                    <button *ngIf=\"option.id == item.columnValues[column.config.relation].button\" [nzSize]=\"'small'\" nz-button [nzType]=\"option.type\" [disabled]=\"!option['usable']\" (click)=\"buttonRelationClick(option.url, pulse.id)\">{{option.title}}</button>\r\n                                  </ng-container>\r\n                                </ng-container>\r\n                              </ng-container>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 投票行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'vote'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockAD\">\r\n                              <nf-vote [currentUser]=\"currentUser\" [nfData]=\"item.columnValues[column.id]\" (getData)=\"getVoteData(item, column.id, $event)\"></nf-vote>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockAD>\r\n                              <nf-vote [currentUser]=\"currentUser\" [nfData]=\"item.columnValues[column.id]\" [disabled]=\"true\"></nf-vote>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 最后更新行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'last-updated'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <nf-last-updated [pulseId]=\"item.id\"></nf-last-updated>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 日期时间行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'date-time'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-container *ngIf=\"item.columnValues[column.id]\">\r\n                              <ng-template\r\n                                [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                                [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                                <nf-date-time class=\"date-editable\" [(ngModel)]=\"item.columnValues[column.id]\" (ngModelChange)=\"getColumnDateTime(item.id, column.id, $event)\"></nf-date-time>\r\n                              </ng-template>\r\n                              <ng-template #elseBlockPB>\r\n                                <nf-date-time class=\"date-editable\" [disabled]=\"true\" [(ngModel)]=\"item.columnValues[column.id]\"></nf-date-time>\r\n                              </ng-template>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 文件行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'file'\">\r\n                        <td>\r\n                          <ng-container *ngIf=\"delayedLoading\">\r\n                            <ng-template\r\n                              [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                              [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                              <nf-file [nfBoardData]=\"boardData\" [pulse]=\"item\" [column]=\"column\" [columnValue]=\"item.columnValues[column.id]\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-file>\r\n                            </ng-template>\r\n                            <ng-template #elseBlockPA>\r\n                              <nf-file [nfBoardData]=\"boardData\" [pulse]=\"item\" [column]=\"column\" [columnValue]=\"item.columnValues[column.id]\" [disabled]=\"true\"></nf-file>\r\n                            </ng-template>\r\n                          </ng-container>\r\n                        </td>\r\n                      </ng-container>\r\n                      <!-- 进度行组件 -->\r\n                      <ng-container *ngSwitchCase=\"'progress'\">\r\n                        <td></td>\r\n                      </ng-container>\r\n                    </ng-container>\r\n                  </ng-container>\r\n                  <td class=\"name-pulse-column\" [nzRight]=\"true\" class=\"pulse-right-indicator\"></td>\r\n                </tr>\r\n              </ng-container>\r\n            </ng-container>\r\n            </tbody>\r\n          </nz-table>\r\n        </nz-spin>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 批量操作 begin -->\r\n<div class=\"batch-component-wrapper\" *ngIf=\"pulseCheckedId.length > 0\">\r\n  <div class=\"batch-actions-menu-wrapper react-boards slide-enter-done\">\r\n    <div class=\"num-of-actions_wrapper\">\r\n      <div class=\"num-of-actions\" nz-tooltip nzTooltipTitle=\"{{pulseCheckedId.length}}\">{{pulseCheckedId.length > 99 ? 99 + '+' : pulseCheckedId.length}}</div>\r\n    </div>\r\n    <div class=\"batch-actions-title-section\">\r\n      <div class=\"title\">选中的任务</div>\r\n      <div class=\"pulses_dots\">\r\n        <div *ngFor=\"let item of pulseCheckedId\" class=\"dot\" style=\"background: #2196F3;\"></div>\r\n      </div>\r\n    </div>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.movePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEP\">\r\n      <div class=\"batch-actions-item\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"movePulsePopVisible\"\r\n           nzPopoverTitle=\"选择分组\" [nzPopoverContent]=\"movePulseTemplate\" nzPopoverPlacement=\"top\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"font-size: 24px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n      <ng-template #movePulseTemplate>\r\n        <div class=\"add-column-menu\">\r\n          <ul>\r\n            <li *ngFor=\"let group of boardGroupData\">\r\n              <div style=\"width: 8px;height:8px;margin-right:10px;display:inline-block;border-radius: 20px;\" [style.background-color]=\"group.color\"></div>\r\n              <div style=\"display: inline-block\" (click)=\"batchMoveToGroup(group)\">\r\n                {{group.title}}\r\n              </div>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      </ng-template>\r\n    </ng-template>\r\n    <ng-template #elseBlockEP>\r\n      <div class=\"batch-actions-item disable\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"color: rgb(131, 131, 131); font-size: 26px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEPF\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchEditPulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockEPF>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockAPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchArchivePulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockAPA>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchDeletePulse()\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n        </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockDPA>\r\n      <div class=\"batch-actions-item disable\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n        </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"batch-actions-delete-item\" (click)=\"closeBatchMenu()\">\r\n      <i nz-icon nzType=\"close\" nzTheme=\"outline\"></i>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 批量操作 end -->\r\n<!-- 弹窗批量编辑 -->\r\n<ng-template #modalTplContent>\r\n  <nf-pulse-card\r\n    #pulseCard\r\n    [taskView]=\"'table'\"\r\n    [pulseIds]=\"pulseCheckedId\"\r\n    [nfData]=\"boardData\"\r\n    (nfChangeData)=\"getPulseCardData($event)\"></nf-pulse-card>\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleAddCancel()\">取消</button>\r\n  <button\r\n    nz-button\r\n    nzType=\"primary\"\r\n    nz-popconfirm\r\n    nzPopconfirmTitle=\"是否确认批量修改？\"\r\n    (nzOnConfirm)=\"handleAddOk()\"\r\n    [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n<!-- 选择成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfData]=\"boardData\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n<!-- 批量设置成员 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isBatchAddMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleBatchAddMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"批量设置人员\"\r\n  [nzFooter]=\"addModalFooter\">\r\n  <div class=\"dialog-wrapper\" *ngIf=\"isBatchAddMemberVisible\">\r\n    <div style=\"margin:0 0 10px 0;font-weight: 600;\">选择任务</div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedTaskValue\"\r\n      nzPlaceHolder=\"选择任务\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      [nzMode]=\"'multiple'\">\r\n      <nz-option *ngFor=\"let o of boardPulseData\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n    </nz-select>\r\n    <div style=\"margin:15px 0 10px 0;font-weight: 600;\">选择成员 <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" nz-tooltip nzTooltipTitle=\"一键为当前列所选任务设置成员\"></i></div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedMemberValue\"\r\n      nzPlaceHolder=\"选择成员\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      [nzMode]=\"'multiple'\"\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      [nzDropdownRender]=\"renderTemplate\">\r\n      <nz-option *ngFor=\"let o of memberList\" [nzValue]=\"o\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n  </div>\r\n  <ng-template #addModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleBatchAddMemberCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" [disabled]=\"!(selectedTaskValue.length > 0 && selectedMemberValue.length > 0)\" [nzLoading]=\"isBatchAddMemberLoading\" (nzOnConfirm)=\"handleBatchAttachOk()\" nz-popconfirm nzPopconfirmTitle=\"此操作会批量修改任务，是否确认提交?\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 对话抽屉 begin -->\r\n<nz-drawer nzWrapClassName=\"custom-modal\"\r\n           [nzVisible]=\"isDialogVisible\"\r\n           [nzWidth]=\"1200\"\r\n           [nzClosable]=\"true\"\r\n           (nzOnClose)=\"closeDialog()\">\r\n  <nf-conversation [boardData]=\"boardData\" [nfData]=\"conversationBaseData\"></nf-conversation>\r\n</nz-drawer>\r\n<!-- 对话抽屉 end -->\r\n<!-- 添加任务弹窗 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isAddTaskVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleAddTaskCancel()\"\r\n  [nzWidth]=\"'50%'\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加任务\"\r\n  [nzFooter]=\"addTaskModalFooter\">\r\n  <div class=\"add-task-modal\">\r\n    <ng-container *ngIf=\"!createWayType\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"6\">任务创建方式</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"14\">\r\n          <nz-radio-group [(ngModel)]=\"createWayType\" (ngModelChange)=\"getCreateWayType($event)\">\r\n            <label nz-radio nzValue=\"taskPool\">从任务池选择</label>\r\n            <label nz-radio nzValue=\"manual\">手动创建</label>\r\n          </nz-radio-group>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"createWayType === 'taskPool'\">\r\n      <button [nzSize]=\"'small'\" nz-button (click)=\"backToChoseCreateType()\"><i nz-icon nzType=\"left\" nzTheme=\"outline\"></i> 返回</button>\r\n      <div class=\"create-task-form\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSpan]=\"6\">选择任务规则</nz-form-label>\r\n          <nz-form-control [nzSpan]=\"14\">\r\n<!--            <nz-select [(ngModel)]=\"taskRulesValue\" nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\">-->\r\n<!--              <nz-option *ngFor=\"let o of taskRulesOption\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>-->\r\n<!--            </nz-select>-->\r\n            <nz-tree-select\r\n              [(ngModel)]=\"taskRulesValue\"\r\n              [nzNodes]=\"taskRulesOption\"\r\n              (nzTreeClick)=\"taskRulesChange($event)\"\r\n              nzShowSearch\r\n              nzPlaceHolder=\"请选择\"\r\n            ></nz-tree-select>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item *ngIf=\"taskRuleRelevance == '01'\">\r\n          <nz-form-label [nzSpan]=\"6\">选择关联产品</nz-form-label>\r\n          <nz-form-control [nzSpan]=\"14\">\r\n            <nz-tag *ngFor=\"let tag of selectProductList; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleSelectProductClose(i, tag.code)\">\r\n              {{tag.name}}\r\n            </nz-tag>\r\n            <span (click)=\"openProductDialog()\" class=\"add-tag-btn\">\r\n              <i nz-icon nzType=\"plus-circle\" nzTheme=\"outline\"></i>\r\n            </span>\r\n<!--            <nz-select-->\r\n<!--              nzMode=\"multiple\"-->\r\n<!--              nzPlaceHolder=\"请选择\"-->\r\n<!--              nzAllowClear-->\r\n<!--              nzShowSearch-->\r\n<!--              nzServerSearch-->\r\n<!--              (nzOnSearch)=\"onProductSearch($event)\"-->\r\n<!--              (nzScrollToBottom)=\"loadMoreProduct()\"-->\r\n<!--              [(ngModel)]=\"taskRelationProduct\">-->\r\n<!--              <ng-container *ngFor=\"let o of productOption\">-->\r\n<!--                <nz-option *ngIf=\"!isProductLoading\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>-->\r\n<!--              </ng-container>-->\r\n<!--              <nz-option *ngIf=\"isProductLoading\" nzDisabled nzCustomContent>-->\r\n<!--                <i nz-icon nzType=\"loading\" class=\"loading-icon\"></i>-->\r\n<!--                加载数据...-->\r\n<!--              </nz-option>-->\r\n<!--            </nz-select>-->\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"createWayType === 'manual'\">\r\n      <button [nzSize]=\"'small'\" nz-button (click)=\"backToChoseCreateType()\"><i nz-icon nzType=\"left\" nzTheme=\"outline\"></i> 返回</button>\r\n      <form nz-form [formGroup]=\"addTaskForm\">\r\n        <div nz-row>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzRequired]=\"true\" [nzSpan]=\"6\">分组</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"请选择分组!\">\r\n                <nz-select formControlName=\"groupId\" nzPlaceHolder=\"请选择分组\" (ngModelChange)=\"groupChange($event)\">\r\n                  <nz-option *ngFor=\"let o of boardGroupData\" [nzValue]=\"o.id\" [nzLabel]=\"o.title\"></nz-option>\r\n                </nz-select>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSpan]=\"6\">父级任务</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\">\r\n                <nz-tree-select\r\n                  style=\"width: 250px\"\r\n                  [nzNodes]=\"parentTaskData\"\r\n                  nzShowSearch\r\n                  nzPlaceHolder=\"请选择\"\r\n                  formControlName=\"parentId\"\r\n                ></nz-tree-select>\r\n<!--                <nz-select formControlName=\"parentId\" nzPlaceHolder=\"请选择分组\">-->\r\n<!--                  <nz-option *ngFor=\"let o of parentTaskData\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>-->\r\n<!--                </nz-select>-->\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzRequired]=\"true\" [nzSpan]=\"6\">任务名称</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"请输入任务名称!\">\r\n                <input nz-input placeholder=\"任务名称\" formControlName=\"name\" />\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n        </div>\r\n      </form>\r\n    </ng-container>\r\n  </div>\r\n  <ng-template #addTaskModalFooter>\r\n    <button type=\"button\" nz-button nzType=\"default\" (click)=\"handleAddTaskCancel()\">关闭</button>\r\n    <button type=\"button\" nz-button nzType=\"primary\" [disabled]=\"!createWayType\" (click)=\"handleAddTaskOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 任务状态配置-新增列表 -->\r\n<nz-modal [(nzVisible)]=\"isAddStatusListVisible\" [nzTitle]=\"'新增任务状态'\" [nzMaskClosable]=\"false\" [nzWidth]=\"'60%'\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzFooter]=\"addStatusListModalFooter\" (nzOnCancel)=\"handleAddStatusListCancel()\">\r\n  <ng-container *ngIf=\"isAddStatusListVisible\">\r\n    <div class=\"dialog-wrapper\">\r\n      <div class=\"add-task-status-item-btn\">\r\n      <span style=\"cursor: pointer;margin-right:15px\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n        <i nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\r\n        常用状态\r\n      </span>\r\n        <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n          <ul nz-menu nzSelectable>\r\n            <li nz-menu-item (click)=\"quickAddStatus(0, '未开始','rgb(193, 193, 193)')\" style=\"background:rgb(193, 193, 193);color:#fff\">未开始</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(1, '未执行','rgb(202, 182, 65)')\" style=\"background:rgb(202, 182, 65);color:#fff\">未执行</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(2, '已完成','rgb(0, 200, 117)')\" style=\"background:rgb(0, 200, 117);color:#fff\">已完成</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(3, '强制完成','rgb(255, 21, 138)')\" style=\"background:rgb(255, 21, 138);color:#fff\">强制完成</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(4, '异常','rgb(226, 68, 92)')\" style=\"background:rgb(226, 68, 92);color:#fff\">异常</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(5, '延期','rgb(0, 134, 192)')\" style=\"background:rgb(0, 134, 192);color:#fff\">延期</li>\r\n          </ul>\r\n        </nz-dropdown-menu>\r\n        <span style=\"cursor: pointer;\" (click)=\"openStatusItemDialog()\">\r\n        <i nz-icon nzIconfont='icon-tianjia'></i>\r\n        添加任务状态\r\n      </span>\r\n      </div>\r\n      <nz-table #basicTable [nzData]=\"statusOptionData\" [nzFrontPagination]=\"false\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n        <thead>\r\n        <tr>\r\n          <th nzWidth=\"200px\">状态名称</th>\r\n          <th nzWidth=\"100px\">值</th>\r\n          <th nzWidth=\"250px\">触发事件</th>\r\n          <th nzWidth=\"100px\">操作</th>\r\n        </tr>\r\n        </thead>\r\n        <tbody>\r\n        <tr *ngFor=\"let data of basicTable.data; let i = index\" cdkDrag style=\"cursor: move\">\r\n          <td>\r\n            <div class=\"chose-color\" style=\"margin-right:3px;display: inline-block;cursor: default\">\r\n            <span [style.background]=\"data.color\">\r\n              {{data.label}}\r\n            </span>\r\n            </div>\r\n          </td>\r\n          <td>\r\n            {{data.index}}\r\n          </td>\r\n          <td>\r\n            {{data.event}}\r\n          </td>\r\n          <td>\r\n            <div class=\"row-oprate\">\r\n              <i nz-icon nzIconfont='icon-bianji' title=\"编辑\" style=\"color: #2196F3;font-size: 20px;margin-right:5px;cursor: pointer;\" (click)=\"openStatusOption(data)\"></i>\r\n              <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;cursor: pointer;\" (click)=\"deleteStatusOption(i)\"></i>\r\n            </div>\r\n          </td>\r\n        </tr>\r\n        </tbody>\r\n      </nz-table>\r\n    </div>\r\n  </ng-container>\r\n  <ng-template #addStatusListModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleAddStatusListCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleStatusListOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 任务状态配置-新增项 -->\r\n<nz-modal [(nzVisible)]=\"isAddStatusItemVisible\" [nzTitle]=\"'任务状态'\" [nzMaskClosable]=\"false\" [nzWidth]=\"'60%'\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzFooter]=\"addStatusItemModalFooter\" (nzOnCancel)=\"handleAddStatusItemCancel()\">\r\n  <ng-container *ngIf=\"isAddStatusItemVisible\">\r\n    <form nz-form [autocomplete]=\"false\" [formGroup]=\"addItemForm\" (ngSubmit)=\"submitItemForm()\">\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\" nzRequired>状态名称</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"必填项!\">\r\n              <input nz-input name=\"label\" formControlName=\"label\">\r\n            </nz-form-control>\r\n          </nz-form-item >\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\" nzRequired>任务颜色</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"必填项!\">\r\n              <input nz-input formControlName=\"color\" hidden>\r\n              <div class=\"chose-color\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"colorContentTemplate\"><span [style.background]=\"currentPanelColor\"></span></div>\r\n              <ng-template #colorContentTemplate>\r\n                <div class=\"group-color-dialog\">\r\n                  <a *ngFor=\"let item of initColor\" (click)=\"changeColor(item)\" class=\"group-color-item\" [ngStyle]=\"{'background': item}\"></a>\r\n                </div>\r\n              </ng-template>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\" nzRequired>状态值</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"必填项!\">\r\n              <input type=\"number\" nz-input name=\"index\" formControlName=\"index\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\">触发事件</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\">\r\n              <nz-select formControlName=\"event\" [nzPlaceHolder]=\"'请选择'\" nzAllowClear>\r\n                <nz-option nzLabel=\"强制完成\" nzValue=\"forceCompletion\"></nz-option>\r\n                <nz-option nzLabel=\"延期\" nzValue=\"delay\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\">请求URL</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\">\r\n              <input nz-input formControlName=\"url\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"5\">状态标记</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\">\r\n              <nz-select formControlName=\"symbol\" [nzPlaceHolder]=\"'请选择'\" nzAllowClear>\r\n                <nz-option nzLabel=\"完成\" nzValue=\"complete\"></nz-option>\r\n                <nz-option nzLabel=\"异常\" nzValue=\"abnormal\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </ng-container>\r\n  <ng-template #addStatusItemModalFooter>\r\n    <button type=\"button\" nz-button nzType=\"default\" (click)=\"handleAddStatusItemCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleStatusItemOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 任务规则管理 -->\r\n<nz-drawer\r\n  [nzClosable]=\"true\"\r\n  [nzVisible]=\"isTaskRulesVisible\"\r\n  nzPlacement=\"right\"\r\n  nzTitle=\"任务规则管理\"\r\n  [nzWidth]=\"'80%'\"\r\n  (nzOnClose)=\"taskRulesClose()\">\r\n  <app-task-management *ngIf=\"isTaskRulesVisible\" [taskSystemParameter]=\"taskSystemParameter\" [group]=\"boardGroupData\"></app-task-management>\r\n</nz-drawer>\r\n<!-- 选择产品 -->\r\n<nz-modal [(nzVisible)]=\"isProductVisible\"\r\n          [nzTitle]=\"'选择产品'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'60%'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"handleProductOk()\"\r\n          (nzOnCancel)=\"handleProductCancel()\">\r\n  <div style=\"margin-bottom:10px\">\r\n    <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\" style=\"width:300px\">\r\n      <input [(ngModel)]=\"searchProductValue\" (keyup.enter)=\"searchProduct()\" type=\"text\" nz-input placeholder=\"请输入产品名称\" />\r\n    </nz-input-group>\r\n    <ng-template #suffixIconButton>\r\n      <button nz-button nzType=\"primary\" nzSearch (click)=\"searchProduct()\"><i nz-icon nzType=\"search\"></i></button>\r\n    </ng-template>\r\n  </div>\r\n  <nz-table\r\n    #rowSelectionTable\r\n    nzShowSizeChanger\r\n    [nzData]=\"productListOfData\"\r\n    [nzFrontPagination]=\"false\"\r\n    [nzPageIndex]=\"productPageIndex\"\r\n    [nzPageSize]=\"productPageSize\"\r\n    [nzTotal]=\"productPageTotal\"\r\n    [nzScroll]=\"{ y: '300px' }\"\r\n    [nzLoading]=\"isProductLoading\"\r\n    [nzPageSizeOptions]=[20,50,100,200,300]\r\n    (nzPageSizeChange)=\"productSizeChange($event)\"\r\n    (nzPageIndexChange)=\"productIndexChange($event)\"\r\n    (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\">\r\n    <thead>\r\n    <tr>\r\n      <th\r\n        [nzWidth]=\"'50px'\"\r\n        [(nzChecked)]=\"checked\"\r\n        [nzIndeterminate]=\"indeterminate\"\r\n        (nzCheckedChange)=\"onAllChecked($event)\"\r\n      ></th>\r\n      <th>产品名称</th>\r\n      <th>基金代码</th>\r\n      <th>托管机构</th>\r\n    </tr>\r\n    </thead>\r\n    <tbody>\r\n    <tr *ngFor=\"let data of rowSelectionTable.data\">\r\n      <td [nzChecked]=\"setOfCheckedId.has(data.code)\" (nzCheckedChange)=\"onItemChecked(data.code, data.name, $event)\"></td>\r\n      <td>{{ data.name }}</td>\r\n      <td>{{ data.code }}</td>\r\n      <td>{{ data.trustee_text }}</td>\r\n    </tr>\r\n    </tbody>\r\n  </nz-table>\r\n</nz-modal>\r\n<!-- 编辑组名 -->\r\n<nz-modal [(nzVisible)]=\"isEditGroupNameVisible\"\r\n          [nzTitle]=\"'编辑组名'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'400px'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"handleEditGroupNameOk()\"\r\n          (nzOnCancel)=\"handleEditGroupNameCancel()\">\r\n  <nz-form-item>\r\n    <nz-form-label [nzSpan]=\"6\" nzFor=\"name\">组名称</nz-form-label>\r\n    <nz-form-control [nzSpan]=\"14\">\r\n      <input nz-input name=\"name\" type=\"name\" [(ngModel)]=\"currentEditGroupName\">\r\n    </nz-form-control>\r\n  </nz-form-item >\r\n</nz-modal>\r\n","styles":[".nz-resizable-preview{border:1px dashed #d1d1d1;left:0;position:absolute;top:0;z-index:8}.nz-resizable-handle{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;position:absolute;user-select:none;z-index:9}.nz-resizable-handle-top{height:10px;left:0;top:-5px;width:100%}.nz-resizable-handle-right{height:100%;right:-5px;top:0;width:10px}.nz-resizable-handle-bottom{bottom:-5px;height:10px;left:0;width:100%}.nz-resizable-handle-left{height:100%;left:-5px;top:0;width:10px}.nz-resizable-handle-topRight{height:20px;right:-5px;top:-5px;width:20px;z-index:10}.nz-resizable-handle-bottomRight{bottom:-5px;height:20px;right:-5px;width:20px;z-index:10}.nz-resizable-handle-bottomLeft{bottom:-5px;height:20px;left:-5px;width:20px;z-index:10}.nz-resizable-handle-topLeft{height:20px;left:-5px;top:-5px;width:20px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:ns-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:ew-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.nz-resizable-disabled .nz-resizable-handle{pointer-events:none}@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.tree-table-component{height:100%;position:relative;width:100%}.add-field-icon{cursor:pointer;font-size:20px}::ng-deep .tree-table-tabs .ant-tabs-tab{display:inline;margin:0;min-width:120px;text-align:left}::ng-deep .tree-table-component .ant-table-thead>tr>th{background:#fff!important}::ng-deep .tree-table-component .ant-table-thead>tr>th:hover,::ng-deep .tree-table-component .ant-table.ant-table-small .ant-table-thead>tr>th:hover{background:#fafafa!important}::ng-deep .tree-table-component .ant-table-tbody>tr.ant-table-row>td{background-color:#f5f6f8!important;border-right:1px solid #fff!important}::ng-deep .tree-table-component .ant-table-tbody>tr.ant-table-row:hover>td{background-color:#e6e9ef!important}::ng-deep .tree-table-component .ant-table-thead>tr>th{border-bottom:1px solid transparent!important}::ng-deep .tree-table-component .ant-table.ant-table-small .ant-table-thead>tr>th{background:transparent}::ng-deep .tree-table-component .ant-table-tbody>tr>td{border-bottom:1px solid #e6e9ef!important;border-top:1px solid #fff!important}.name-pulse-column,.tree-table-component .name-column{background:hsla(0,0%,100%,.7)!important}.tree-table-component .name-column:hover{background:#fafafa}.tree-table-component .name-pulse-column:hover{background:#fff!important}.pulse-right-indicator{background-color:#f5f6f8;border-right:8px solid #e6e9ef}.tree-table-component .name-column-indicator{background:#fff!important;padding:0;text-align:right}::ng-deep .tree-table-component .ant-table-body::-webkit-scrollbar{height:12px!important;width:17px!important}.resize-trigger{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:4px;top:0;transition:background .1s ease;width:4px}.resize-trigger:hover{background-color:#0085ff}.nz-resizable-preview{border-width:0 1px 0 0}.name-column{background:hsla(0,0%,100%,.8)!important}.column-header .column-header-element-wrapper{position:absolute;right:10px;top:12px;width:20px}.column-header-left-wrapper{left:10px;position:absolute}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-top:5px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle,.set-column-current-bg .caret-down{opacity:1}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}::ng-deep .cdk-drag-preview{display:table}::ng-deep .cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-shadow:0 2px 2px -1px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.pulse-left-indicator{cursor:pointer;flex:0 0 8px;height:100%;left:0;position:absolute;top:0;transition:flex-basis .1s ease-in}.pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.title-wrapper,::ng-deep .tree-table-component .ant-table-row-expand-icon{margin-left:35px}.pulse-menu-component{align-items:center;background-color:transparent!important;display:flex;flex:0 0 30px;justify-content:center;left:0;max-width:30px;position:relative;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container,.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.group-menu-button i{font-size:13px;transform:rotate(90deg)}.editable-input{cursor:pointer;font-size:14px;width:100px}.editable-input,.editable-pulse-name-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none;padding:0 3px;text-align:left}.editable-pulse-name-input{height:36px;width:80%}.editable-pulse-input{height:36px;margin-left:2px;padding:0 5px;text-align:left;width:calc(100% - 4px)}.editable-column-input,.editable-pulse-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none}.editable-column-input{padding:3px;text-align:center;width:60%}.editable-column-input:hover,.editable-pulse-input:hover,.editable-pulse-name-input:hover{border:1px dashed #9f9f9f}.editable-column-input:focus,.editable-pulse-input:focus,.editable-pulse-name-input:focus{background:#fff;border:1px dashed transparent;cursor:text;outline:none}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.col-menu li{display:inline-block;width:50%}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.create-time-header{display:block;margin-top:-8px;text-align:center;width:100%}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:15px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;max-width:460px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-title-lock{color:#9a9a9a;font-size:14px;margin-right:5px}.column-title-lock:hover{color:#2196f3}.column-lock-icon{cursor:pointer;font-size:16px;vertical-align:middle}::ng-deep .tree-table-component .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0!important}::ng-deep .ant-table-row-indent+.ant-table-row-expand-icon{margin-top:11px!important}.posts-indicator-component{cursor:pointer;display:flex;justify-content:center;padding:0 4px;position:absolute;right:5px;top:3px;z-index:999}.posts-indicator-component .conversation-indicator-icon{color:#c5c7d0;font-size:25px;height:24px;line-height:28px;min-width:24px;position:relative}.date-editable{background:#f5f6f8;border:1px solid transparent;border-radius:0;margin-left:2px;min-height:32px;width:calc(100% - 4px)}.date-editable:hover{background:#e6e9ef;border:1px dashed rgba(0,0,0,.5)}::ng-deep .status-component-wrapper{cursor:pointer;height:36px;line-height:36px;text-align:center}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;top:13px}.button-cell,.updates-count{text-align:center}.button-pulse-config-icon{cursor:pointer;position:absolute;right:5px;top:10px}.button-cell .button-pulse-config-icon i{font-size:18px;opacity:0}.button-cell .button-pulse-config-icon i:hover{color:#2196f3}.button-cell:hover .button-pulse-config-icon i{opacity:1}.button-cell .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:340px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}::ng-deep .nf-select{text-align:center}::ng-deep .vote-button{cursor:pointer}::ng-deep .votes-bar-component .votes-bar{bottom:5px!important;height:26px!important;position:absolute!important;top:-13px!important}::ng-deep .tree-table-tabs .ant-tabs-tab{font-size:14px;margin-right:10px;min-width:100px;text-align:center}.board-header-component{text-align:right}.filter-button{cursor:pointer;display:inline;margin-right:5px;text-align:center}.filter-item-title{color:grey;font-size:13px;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis}.filter-item-content{overflow-y:auto}.filter-item-content::-webkit-scrollbar{width:3px}.filter-option{align-items:center;background:#f5f5f5;border-bottom:1px solid #e1e1e1;cursor:pointer;display:flex;font-size:13px;height:32px;justify-content:center;margin-bottom:4px;padding:5px 8px;text-decoration:none;transition:background-color .1s ease}.filter-option:not(.selected):hover{background-color:#e1e1e1}.selected{background-color:#d9f0ff}.selected:hover{background-color:#c0e6ff}.filter-option-content{display:flex;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-option-counter{color:#a1a1a1;flex:0 0 auto;font-size:12px;font-weight:100;margin-left:5px}.status-circle{border:1px solid;border-radius:50%;display:inline-block;flex:0 0 auto;height:10px;margin-right:5px;margin-top:5px;width:10px}.board-content-component{background:#fff;box-sizing:content-box;padding-bottom:10px;padding-left:0;padding-top:10px}.board-content-wrapper{box-sizing:content-box;padding-right:30px}.add-task-status-item-btn{margin-bottom:5px;text-align:right}.add-task-status-item-btn,.add-task-status-item-btn i{color:#2196f3}.chose-color{cursor:pointer}.chose-color span{border:1px solid #ccc;border-radius:4px;color:#fff;display:inline-block;height:30px;line-height:30px;text-align:center;vertical-align:bottom;width:100px}.chose-color i{color:#ccc;font-size:11px}.task-statistics-component{display:flex;padding:10px;position:relative}.task-statistics-item{position:relative;width:130px}.task-statistics-item:after{background:#f0f0f0;content:\"\";display:block;height:2px;left:55px;position:absolute;top:28px;width:65px}.task-statistics-component .task-statistics-item:last-child:after{width:0}.task-statistics-item span{display:block;height:24px;overflow:hidden;text-align:center;text-overflow:ellipsis;width:50px}::ng-deep .ant-tabs-top>.ant-tabs-nav{margin-bottom:0}.add-tag-btn{color:#2196f3;cursor:pointer;font-size:18px;margin-left:5px}::ng-deep .ant-tag{margin-bottom:5px}"]}]}],"members":{"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":195,"character":3},"arguments":["nfData"]}]}],"modalTplContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":201,"character":3},"arguments":["modalTplContent",{"static":true}]}]}],"tplFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":202,"character":3},"arguments":["tplFooter",{"static":true}]}]}],"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":203,"character":3},"arguments":["pulseCard"]}]}],"nfUpdateTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":204,"character":3}}]}],"showFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":205,"character":3}}]}],"ChangeParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":206,"character":3},"arguments":["taskSystemParameter"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":220,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":220,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":213,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":214,"character":19},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":215,"character":18},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":217,"character":22},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":218,"character":16},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":219,"character":32},{"__symbolic":"reference","name":"Object"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"handleClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":232,"character":3},"arguments":["window:click",["$event"]]}]}],"handleBoardList":[{"__symbolic":"method"}],"listConvertTree":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"convertTreeToList":[{"__symbolic":"method"}],"visitNode":[{"__symbolic":"method"}],"getActiveGroup":[{"__symbolic":"method"}],"duplicateRemoval":[{"__symbolic":"method"}],"calcBoardWidth":[{"__symbolic":"method"}],"getVisibleSize":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"addColumnFun":[{"__symbolic":"method"}],"addFilterColumn":[{"__symbolic":"method"}],"setProgressValue":[{"__symbolic":"method"}],"progressAverage":[{"__symbolic":"method"}],"progressCheckboxChange":[{"__symbolic":"method"}],"submitProgressConfig":[{"__symbolic":"method"}],"progressCalcValue":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"columnDrop":[{"__symbolic":"method"}],"pulseDrop":[{"__symbolic":"method"}],"modifyGroupName":[{"__symbolic":"method"}],"modifyColumnName":[{"__symbolic":"method"}],"groupAuthorityChange":[{"__symbolic":"method"}],"getAuthorityMember":[{"__symbolic":"method"}],"groupAuthorityConfirm":[{"__symbolic":"method"}],"archiveGroup":[{"__symbolic":"method"}],"changeGroupColor":[{"__symbolic":"method"}],"removeGroup":[{"__symbolic":"method"}],"pulseCheckedChange":[{"__symbolic":"method"}],"closeBatchMenu":[{"__symbolic":"method"}],"batchEditPulse":[{"__symbolic":"method"}],"handleAddCancel":[{"__symbolic":"method"}],"handleAddOk":[{"__symbolic":"method"}],"getPulseCardData":[{"__symbolic":"method"}],"batchMoveToGroup":[{"__symbolic":"method"}],"batchArchivePulse":[{"__symbolic":"method"}],"batchDeletePulse":[{"__symbolic":"method"}],"checkBatchTreeData":[{"__symbolic":"method"}],"checkTreeData":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"clickCurrentColumn":[{"__symbolic":"method"}],"clickCurrentPulse":[{"__symbolic":"method"}],"removePulse":[{"__symbolic":"method"}],"removeColumn":[{"__symbolic":"method"}],"archivePulse":[{"__symbolic":"method"}],"handleColumnPermission":[{"__symbolic":"method"}],"columnPermissionSet":[{"__symbolic":"method"}],"columnEncryptChange":[{"__symbolic":"method"}],"handleColumnEncrypt":[{"__symbolic":"method"}],"columnSelectMember":[{"__symbolic":"method"}],"handleMemberCancel":[{"__symbolic":"method"}],"removeFilterColumn":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"filterChild":[{"__symbolic":"method"}],"isExist":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"handleBatchAddMemberCancel":[{"__symbolic":"method"}],"handleBatchAttachOk":[{"__symbolic":"method"}],"batchUpdateBoardMember":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"sortColumn":[{"__symbolic":"method"}],"getColumnName":[{"__symbolic":"method"}],"calcFilterData":[{"__symbolic":"method"}],"updateFilterData":[{"__symbolic":"method"}],"generateColumnValue":[{"__symbolic":"method"}],"openDialog":[{"__symbolic":"method"}],"closeDialog":[{"__symbolic":"method"}],"getColumnText":[{"__symbolic":"method"}],"getColumnDate":[{"__symbolic":"method"}],"batchSettingMember":[{"__symbolic":"method"}],"openButtonConfig":[{"__symbolic":"method"}],"removeButtonConfig":[{"__symbolic":"method"}],"editButtonConfig":[{"__symbolic":"method"}],"buttonConfigAdd":[{"__symbolic":"method"}],"buttonConfigChange":[{"__symbolic":"method"}],"buttonConfigSubmit":[{"__symbolic":"method"}],"getMaxId":[{"__symbolic":"method"}],"getButtonUserIds":[{"__symbolic":"method"}],"buttonRelationChange":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"buttonRelationClick":[{"__symbolic":"method"}],"getVoteData":[{"__symbolic":"method"}],"openAddTaskDialog":[{"__symbolic":"method"}],"getCreateWayType":[{"__symbolic":"method"}],"handleAddTaskCancel":[{"__symbolic":"method"}],"handleAddTaskOk":[{"__symbolic":"method"}],"backToChoseCreateType":[{"__symbolic":"method"}],"groupChange":[{"__symbolic":"method"}],"addPulse":[{"__symbolic":"method"}],"getManualTask":[{"__symbolic":"method"}],"dropColumn":[{"__symbolic":"method"}],"selectGroup":[{"__symbolic":"method"}],"getTimeInterval":[{"__symbolic":"method"}],"getColumnDateTime":[{"__symbolic":"method"}],"myTaskChange":[{"__symbolic":"method"}],"useLastCondition":[{"__symbolic":"method"}],"clearFilterCondition":[{"__symbolic":"method"}],"chooseGroup":[{"__symbolic":"method"}],"removeGroupFilter":[{"__symbolic":"method"}],"chooseValue":[{"__symbolic":"method"}],"removeValue":[{"__symbolic":"method"}],"calcHeight":[{"__symbolic":"method"}],"openTaskProgressDialog":[{"__symbolic":"method"}],"handleStatusListOk":[{"__symbolic":"method"}],"submitEditStatus":[{"__symbolic":"method"}],"handleAddStatusListCancel":[{"__symbolic":"method"}],"quickAddStatus":[{"__symbolic":"method"}],"openStatusItemDialog":[{"__symbolic":"method"}],"openStatusOption":[{"__symbolic":"method"}],"deleteStatusOption":[{"__symbolic":"method"}],"handleAddStatusItemCancel":[{"__symbolic":"method"}],"submitItemForm":[{"__symbolic":"method"}],"changeColor":[{"__symbolic":"method"}],"handleStatusItemOk":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"genID":[{"__symbolic":"method"}],"openTaskRulesDialog":[{"__symbolic":"method"}],"taskRulesClose":[{"__symbolic":"method"}],"taskStatisticsChange":[{"__symbolic":"method"}],"boardStatisticData":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}],"taskRulesChange":[{"__symbolic":"method"}],"handelTaskRuleTreeRelevanceType":[{"__symbolic":"method"}],"getProductOption":[{"__symbolic":"method"}],"onProductSearch":[{"__symbolic":"method"}],"getProductListData":[{"__symbolic":"method"}],"productIndexChange":[{"__symbolic":"method"}],"productSizeChange":[{"__symbolic":"method"}],"openProductDialog":[{"__symbolic":"method"}],"handleSelectProductClose":[{"__symbolic":"method"}],"handleProductOk":[{"__symbolic":"method"}],"handleProductCancel":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"onCurrentPageDataChange":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"searchProduct":[{"__symbolic":"method"}],"editGroupNameDialog":[{"__symbolic":"method"}],"handleEditGroupNameOk":[{"__symbolic":"method"}],"handleEditGroupNameCancel":[{"__symbolic":"method"}]}},"ɵdt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"nf-multiple-level-person","template":"<div class=\"multiple-person-cell-component-wrapper\">\r\n  <ng-container *ngIf=\"!isDisabled\">\r\n    <div class=\"multiple-person-cell-component\"\r\n         nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" nz-popover [nzPopoverContent]=\"personTemplate\" [(nzPopoverVisible)]=\"popVisible\">\r\n      <div class=\"multiple-person-images-wrapper-container\">\r\n        <!--<div class=\"add-button\">-->\r\n          <!--<i nz-icon [nzIconfont]=\"'icon-tianjia'\"></i>-->\r\n        <!--</div>-->\r\n        <ng-container *ngIf=\"pulse.columnValues[column.id] && pulse.columnValues[column.id].personsAndTeams\">\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length > 0 && pulse.columnValues[column.id].personsAndTeams.length < 4\">\r\n            <div class=\"multiple-person-bullet\" *ngFor=\"let list of pulse.columnValues[column.id].personsAndTeams;\">\r\n              <nz-avatar nz-tooltip [nzTooltipTitle]=\"list.name\" [nzText]=\"list.name ? list.name.substr(list.name.length-1,1):''\"\r\n                         [nzSize]=\"25\" [style.background]=\"list.color?list.color:'#2196F3'\"></nz-avatar>\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length >= 4\">\r\n            <div style=\"display: flex\" nz-tooltip [nzTooltipTitle]=\"titleTemplate\">\r\n              <div class=\"multiple-person-bullet\">\r\n                <img src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\" alt=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\">\r\n              </div>\r\n              <div class=\"multiple-person-bullet\">\r\n                <div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length}}</span></div>\r\n              </div>\r\n            </div>\r\n            <ng-template #titleTemplate>\r\n              <div *ngFor=\"let item of pulse.columnValues[column.id].personsAndTeams\">{{item.name}}</div>\r\n            </ng-template>\r\n<!--            <div class=\"multiple-person-bullet\">-->\r\n<!--              <nz-avatar nz-tooltip [nzTooltipTitle]=\"pulse.columnValues[column.id].personsAndTeams[0].name\"-->\r\n<!--                         [nzText]=\"pulse.columnValues[column.id].personsAndTeams[0].name ?-->\r\n<!--                         pulse.columnValues[column.id].personsAndTeams[0].name.substr(pulse.columnValues[column.id].personsAndTeams[0].name.length-1,1):-->\r\n<!--                         pulse.columnValues[column.id].personsAndTeams[0]['label'] ? pulse.columnValues[column.id].personsAndTeams[0]['label'].substr(pulse.columnValues[column.id].personsAndTeams[0]['label'].length-1,1):''\"-->\r\n<!--                         [nzSize]=\"25\" [style.background]=\"pulse.columnValues[column.id].personsAndTeams[0].color?pulse.columnValues[column.id].personsAndTeams[0].color:'#2196F3'\"></nz-avatar>-->\r\n<!--            </div>-->\r\n<!--            <div class=\"multiple-person-bullet\"><div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length - 1}}</span></div></div>-->\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length === 0\">\r\n            <div class=\"multiple-person-bullet\">\r\n              <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!(pulse.columnValues[column.id] && pulse.columnValues[column.id].personsAndTeams)\">\r\n          <div class=\"multiple-person-bullet\">\r\n            <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"isDisabled\">\r\n    <div class=\"multiple-person-cell-component\" style=\"cursor: default\">\r\n      <div class=\"multiple-person-images-wrapper-container\">\r\n        <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams\">\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length > 0 && pulse.columnValues[column.id].personsAndTeams.length < 4\">\r\n            <div class=\"multiple-person-bullet\" *ngFor=\"let list of pulse.columnValues[column.id].personsAndTeams\">\r\n              <img nz-tooltip [nzTooltipTitle]=\"list.name\" *ngIf=\"list.photoUrl\" src=\"{{list.photoUrl}}\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{list.name}}\" alt=\"{{list.name}}\">\r\n              <img nz-tooltip [nzTooltipTitle]=\"list.name\" *ngIf=\"!list.photoUrl\" src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n            </div>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length >= 4\">\r\n            <div style=\"display: flex\" nz-tooltip [nzTooltipTitle]=\"titleTemplate\">\r\n              <div class=\"multiple-person-bullet\">\r\n                <img src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\" alt=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\">\r\n              </div>\r\n              <div class=\"multiple-person-bullet\">\r\n                <div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length}}</span></div>\r\n              </div>\r\n            </div>\r\n            <ng-template #titleTemplate>\r\n              <div *ngFor=\"let item of pulse.columnValues[column.id].personsAndTeams\">{{item.name}}</div>\r\n            </ng-template>\r\n<!--            <div class=\"multiple-person-bullet\">-->\r\n<!--              <img nz-tooltip [nzTooltipTitle]=\"pulse.columnValues[column.id].personsAndTeams[0].name\" src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2NDg0ODgzMjgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MjY4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMC4xOTUzMTI1IiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5OTcyMyAzMzEuOTEzNzk0bS0xMTcuNzQ4ODU0IDBhMTE3Ljc0ODg1NCAxMTcuNzQ4ODU0IDAgMSAwIDIzNS40OTc3MDggMCAxMTcuNzQ4ODU0IDExNy43NDg4NTQgMCAxIDAtMjM1LjQ5NzcwOCAwWiIgcC1pZD0iMTQyNjkiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48cGF0aCBkPSJNNTExLjk5OTcyMyAwLjAwMDU1NEE1MTEuOTk5NzIzIDUxMS45OTk3MjMgMCAxIDAgMTAyNS4xMDc2NyA1MTIuMDAwMjc3IDUxMi4yNzY3NzkgNTEyLjI3Njc3OSAwIDAgMCA1MTEuOTk5NzIzIDAuMDAwNTU0ek03OTIuMzgwNTI0IDc3OS42MzY0OTZhMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTItMjQuOTM1MDUyIDI1NS40NDU3NDkgMjU1LjQ0NTc0OSAwIDAgMC01MTAuNjE0NDQyIDAgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS00OS44NzAxMDMgMCAzMDQuNzYxNzQgMzA0Ljc2MTc0IDAgMCAxIDIwNS4yOTg1OS0yODguMTM4MzcyIDE2Ny44OTYwMTMgMTY3Ljg5NjAxMyAwIDEgMSAxOTkuNDgwNDEyIDAgMzA0Ljc2MTc0IDMwNC43NjE3NCAwIDAgMSAyMDUuNTc1NjQ2IDI4OC4xMzgzNzIgMjQuOTM1MDUxIDI0LjkzNTA1MSAwIDAgMS0yNC45MzUwNTEgMjQuOTM1MDUyeiIgcC1pZD0iMTQyNzAiIGZpbGw9IiMyMTk2RjMiPjwvcGF0aD48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" title=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\" alt=\"{{pulse.columnValues[column.id].personsAndTeams[0]}}\">-->\r\n<!--            </div>-->\r\n<!--            <div class=\"multiple-person-bullet\"><div class=\"extra-persons-indicator-component\"><span>+{{pulse.columnValues[column.id].personsAndTeams.length}}</span></div></div>-->\r\n          </ng-container>\r\n          <ng-container *ngIf=\"pulse.columnValues[column.id].personsAndTeams.length === 0\">\r\n            <div class=\"multiple-person-bullet\">\r\n              <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n            </div>\r\n          </ng-container>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"!pulse.columnValues[column.id].personsAndTeams\">\r\n          <div class=\"multiple-person-bullet\">\r\n            <img src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNjNGM0YzQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5QZXJzb25fMTwvdGl0bGU+PGcgaWQ9IkxheWVyXzIiIGRhdGEtbmFtZT0iTGF5ZXIgMiI+PGcgaWQ9IkxheWVyXzMiIGRhdGEtbmFtZT0iTGF5ZXIgMyI+PHBhdGggaWQ9IlBlcnNvbiIgY2xhc3M9ImNscy0xIiBkPSJNMTAsMGExMC4wMTEsMTAuMDExLDAsMSwwLDcuMDY4LDIuOTMyQTkuOTY5LDkuOTY5LDAsMCwwLDEwLDBabTAsLjk1MmE5LjAzOCw5LjAzOCwwLDAsMSw2LjUxMiwxNS4zMTJjLS4wMjUtLjA0OC0uMDUxLS4wOTQtLjA3OS0uMTM5cy0uMDU1LS4wOTEtLjA4MS0uMTM3bC0uMDY0LS4xMTRjLS4wMjItLjAzOC0uMDQzLS4wNzUtLjA2Ni0uMTEycS0uMTI4LS4yMDktLjI2NC0uNDA5dC0uMjg1LS4zODZjLS4wMTctLjAyMS0uMDM0LS4wNDEtLjA1MS0uMDZsLS4wNTItLjA2cS0uMTMzLS4xNjEtLjI3NC0uMzEydC0uMjg4LS4yOTNsLS4wODUtLjA4My0uMDg2LS4wODFxLS4xNzMtLjE1Ny0uMzU1LS4zdC0uMzcyLS4yNzdjLS4wMi0uMDE0LS4wNDItLjAyNy0uMDYzLS4wNGwtLjA2My0uMDM5cS0uMTctLjExMi0uMzQ2LS4yMTN0LS4zNTgtLjE5M2wtLjEtLjA1MS0uMS0uMDVjLS4xMzEtLjA2MS0uMjY0LS4xMTktLjQtLjE3M3MtLjI3MS0uMS0uNDEtLjE0OWMuMDMzLS4wMTkuMDY0LS4wNC4wOTQtLjA2MXMuMDYxLS4wNDMuMDkzLS4wNjNsLjA4MS0uMDUzLjA4LS4wNTRjLjEwNi0uMDc1LjIxLS4xNTIuMzEtLjIzNHMuMi0uMTY4LjI4OC0uMjU5bC4wMTctLjAxOC4wMTctLjAxOWMuMDg2LS4wODcuMTY3LS4xNzguMjQ0LS4yNzNzLjE1MS0uMTkyLjIyMi0uMjkybC4wNTYtLjA4LjA1NC0uMDgxYy4wNzEtLjEwOS4xMzgtLjIyMS4yLS4zMzVhMy44NywzLjg3LDAsMCwwLC4xNzItLjM1M2wwLS4wMTMsMC0uMDEzYy4wNDktLjExNy4wOTItLjIzOC4xMjktLjM2cy4wNy0uMjQ3LjEtLjM3M2MuMDA4LS4wMzMuMDE1LS4wNjYuMDIyLS4xcy4wMTMtLjA2Ni4wMTktLjFjLjAyNC0uMTMzLjA0NS0uMjY4LjA2LS40YTMuODc3LDMuODc3LDAsMCwwLC4wMjMtLjQxNCw0LjU1OCw0LjU1OCwwLDAsMC05LjExNiwwLDMuODc1LDMuODc1LDAsMCwwLC4wMjMuNDE0Yy4wMTUuMTM2LjAzNS4yNzEuMDYuNC4wMDYuMDM0LjAxMy4wNjcuMDE5LjFzLjAxNC4wNjYuMDIyLjFjLjAyOS4xMjYuMDYyLjI1MS4xLjM3M3MuMDguMjQzLjEyOS4zNmwwLC4wMTMsMCwuMDEzYTMuODcsMy44NywwLDAsMCwuMTcyLjM1M2MuMDYzLjExNC4xMzEuMjI2LjIuMzM1bC4wNTQuMDgxLjA1Ni4wOGMuMDcxLjEuMTQ0LjIuMjIyLjI5MXMuMTU4LjE4NS4yNDQuMjcybC4wMTcuMDE5LjAxNy4wMTljLjA5Mi4wOTEuMTg4LjE3Ny4yODguMjU5cy4yLjE1OS4zMS4yMzRsLjA4LjA1NC4wODEuMDUzYy4wMzIuMDIuMDYyLjA0Mi4wOTMuMDYzcy4wNjIuMDQyLjA5NC4wNjFjLS4xMzkuMDQ1LS4yNzYuMDk1LS40MTEuMTQ5cy0uMjY3LjExMi0uNC4xNzNsLS4xLjA0OS0uMS4wNTFxLS4xODMuMDkyLS4zNjEuMTk0dC0uMzQ5LjIxNWwtLjA2MS4wMzhjLS4wMi4wMTItLjA0MS4wMjUtLjA2LjAzOHEtLjE5MS4xMzItLjM3My4yNzl0LS4zNTYuM2wtLjA4NC4wNzhMNSwxNC4yNHEtLjE1LjE0NS0uMjkzLjN0LS4yNzguMzE3Yy0uMDE2LjAxOS0uMDMyLjAzNy0uMDQ4LjA1NXMtLjAzMi4wMzYtLjA0OC4wNTZxLS4xNDkuMTg4LS4yODYuMzg4dC0uMjY2LjQxMWMtLjAyMi4wMzYtLjA0My4wNzMtLjA2NC4xMWwtLjA2My4xMTFjLS4wMjcuMDQ3LS4wNTQuMDkzLS4wODIuMTM5cy0uMDU0LjA5My0uMDc5LjE0MWE5LjEsOS4xLDAsMCwxLTEuODc1LTIuODg4QTkuMDQ3LDkuMDQ3LDAsMCwxLDEwLC45NTJabTAsMTEuMjkyYTMuNjEsMy42MSwwLDEsMSwyLjU0OS0xLjA1N0EzLjU5NSwzLjU5NSwwLDAsMSwxMCwxMi4yNDVaTTQuMjI3LDE2Ljk1MnEuMDM5LS4wODIuMDc5LS4xNjN0LjA4Mi0uMTU5Yy4wMzUtLjA2Ni4wNzEtLjEzMy4xMDctLjJzLjA3My0uMTMxLjExMS0uMTkzLjEtLjE0OC4xNDUtLjIyLjEtLjE0Mi4xNTItLjIxMmwuMTI1LS4xNzNjLjA0Mi0uMDU3LjA4NS0uMTE0LjEyOS0uMTY4cy4xMTMtLjEzMS4xNzItLjE5NC4xMTktLjEyNC4xNzktLjE4NWwuMTQyLS4xNDhjLjA0Ny0uMDQ5LjEtLjEuMTQ2LS4xNDNzLjEzLS4xMTIuMi0uMTY1LjEzNi0uMS4yLS4xNTZsLjE1Ni0uMTIyYy4wNTItLjA0MS4xLS4wOC4xNTktLjExNy4wNzItLjA0OC4xNDctLjA5My4yMjMtLjEzNXMuMTUyLS4wODQuMjI4LS4xMjZjLjA1Ni0uMDMxLjExMS0uMDYzLjE2Ni0uMDk1cy4xMTEtLjA2Mi4xNjktLjA5Yy4wODItLjAzOS4xNjYtLjA3My4yNTItLjFzLjE3MS0uMDYzLjI1Ny0uMDk0Yy4wNTctLjAyMS4xMTMtLjA0NC4xNjktLjA2NnMuMTEzLS4wNDMuMTcxLS4wNjFjLjEtLjAyOS4yLS4wNTMuMy0uMDc0cy4yLS4wNDEuMy0uMDZjLjA1MS0uMDEuMS0uMDIzLjE1MS0uMDM0cy4xLS4wMjMuMTUzLS4wMzFxLjIzMi0uMDMzLjQ2OS0uMDUxVDEwLDEzLjJxLjI0MiwwLC40OC4wMTh0LjQ2OS4wNTFjLjA1MS4wMDcuMS4wMTguMTQ5LjAzcy4xLjAyNC4xNDguMDM0Yy4xLjAyLjIuMDM5LjMwNi4wNjFzLjIuMDQ2LjMuMDc1Yy4wNTcuMDE3LjExMy4wMzguMTY4LjA2cy4xMS4wNDQuMTY2LjA2NWMuMDg3LjAzMi4xNzQuMDYyLjI2LjA5NXMuMTcxLjA2Ny4yNTQuMTA2Yy4wNTcuMDI3LjExMy4wNTguMTY4LjA4OXMuMTEuMDY0LjE2NS4wOTRjLjA3Ni4wNDIuMTUzLjA4My4yMjkuMTI2cy4xNTEuMDg3LjIyNC4xMzZjLjA1NS4wMzYuMTA3LjA3Ni4xNTkuMTE3bC4xNTYuMTIyYy4wNjguMDUyLjEzNi4xLjIuMTU2cy4xMzQuMTA3LjIuMTY1LjEuMDk0LjE0Ni4xNDNsLjE0Mi4xNDhjLjA2LjA2MS4xMi4xMjMuMTc4LjE4NXMuMTE3LjEyNi4xNzIuMTkzLjA4Ny4xMS4xMjkuMTY3bC4xMjUuMTcyYy4wNTEuMDcxLjEuMTQxLjE1My4yMTNzLjEuMTQ1LjE0Ni4yMjEuMDc0LjEyNS4xMDkuMTg5LjA2OS4xMjkuMS4xOTQuMDU3LjEwOC4wODUuMTYzLjA1NS4xMTEuMDgxLjE2N2E5LjA3MSw5LjA3MSwwLDAsMS0yLjcwNSwxLjU1NSw4Ljk4Miw4Ljk4MiwwLDAsMS02LjEzNiwwQTkuMDcsOS4wNywwLDAsMSw0LjIyNywxNi45NTJaIi8+PC9nPjwvZz48L3N2Zz4=\" class=\"person-bullet-image person-bullet-component inline-image\" />\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n<ng-template #personTemplate>\r\n  <ng-container *ngIf=\"!inviteMemberVisual\">\r\n    <div class=\"multiple-person_selected\">\r\n      <div class=\"multiple-person_selected-title\" *ngIf=\"selectedTags.length > 0\">当前成员：</div>\r\n      <div class=\"multiple-person_selected-tags\">\r\n        <nz-tag\r\n          *ngFor=\"let tag of selectedTags; let i = index\"\r\n          [nzMode]=\"'closeable'\"\r\n          (nzOnClose)=\"handleClose(tag)\"\r\n        >\r\n          {{tag.name}}\r\n        </nz-tag>\r\n      </div>\r\n    </div>\r\n    <nz-select\r\n      style=\"width: 300px\"\r\n      nzMode=\"multiple\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      (nzScrollToBottom)=\"loadMore()\"\r\n      nzPlaceHolder=\"搜索选择成员\"\r\n      [(ngModel)]=\"selectedPersonValue\"\r\n      (ngModelChange)=\"selectedPersonChange()\"\r\n      [nzDropdownRender]=\"renderTemplate\"\r\n    >\r\n      <nz-option *ngFor=\"let option of personOption\" [nzLabel]=\"option.name + '(' + option.id + ')'\" [nzValue]=\"option\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n    <button style=\"margin-left:10px\" (click)=\"doSubmit()\" [disabled]=\"btnConfirm\" [nzLoading]=\"btnLoading\" nz-button nzType=\"primary\">提交</button>\r\n  </ng-container>\r\n  <div class=\"invite-member-form\" *ngIf=\"inviteMemberVisual\">\r\n    <input autocomplete=\"off\" (ngModelChange)=\"inviteMailKeyEvent($event)\" style=\"width: 300px\" nz-input placeholder=\"请输入被邀成员邮箱\" [(ngModel)]=\"inviteMailInputValue\" [email]=\"true\" type=\"email\" name=\"email\" />\r\n    <div class=\"invite-member-form-button\"><button (click)=\"doSendInvite()\" [disabled]=\"inviteButtonState\" nz-button nzType=\"primary\">发送邀请</button></div>\r\n  </div>\r\n</ng-template>\r\n","styles":[".multiple-person-cell-component-wrapper{height:100%}.multiple-person-cell-component{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;position:relative}.multiple-person-cell-component .multiple-person-images-wrapper-container{align-items:center;display:flex;justify-content:center;margin:0 24px;max-width:calc(100% - 24px);position:relative}.multiple-person-cell-component .multiple-person-images-wrapper-container .add-button{align-items:center;color:#009aff;font-size:14px;height:100%;left:0;opacity:0;position:absolute;top:2px;transform:translateX(-50%) scale(.3);transform-origin:50% 50%;transition:transform .1s ease-in,opacity .1s ease-in;z-index:2}.multiple-person-cell-component .multiple-person-images-wrapper-container .multiple-person-bullet:last-of-type{margin-right:0}.multiple-person-cell-component .multiple-person-images-wrapper-container .multiple-person-bullet{align-items:center;border:2px solid #f5f5f5;border-radius:25px;box-sizing:content-box;display:flex;flex-shrink:0;height:25px;margin:3px -4px 0;min-width:0;z-index:0}.multiple-person-cell-component:hover .multiple-person-images-wrapper-container .add-button{opacity:1;transform:translateX(-50%) scale(1)}.multiple-person-cell-component .multiple-person-images-wrapper-container .multiple-person-bullet .person-bullet-component{flex-shrink:0}.extra-persons-indicator-component{align-items:center;background-color:#333;border-radius:25px;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:300;height:25px;justify-content:center;min-width:25px;padding:0 5px;position:relative}.add-button i{background:#fff;border-radius:100%}.person-bullet-component{border-radius:50%;display:flex;flex-shrink:0;height:25px;position:relative;width:25px}.invite-member{background:#fff;border-radius:4px;color:#00a9ff;cursor:pointer;height:34px;line-height:34px;margin-top:10px;padding:0 10px}.invite-member:hover{background:#00a9ff;color:#fff}.invite-member i{font-size:20px;vertical-align:text-top}.invite-member-form-button{margin-top:5px}.invite-member-form-button button{width:100%}.multiple-person_selected{margin:10px 0;max-width:300px}.multiple-person_selected-title{margin-bottom:10px}::ng-deep .multiple-person_selected .ant-tag{margin-bottom:5px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3},"arguments":["nfPulseData"]}]}],"changeDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3},"arguments":["nfDisabled"]}]}],"updateFilterData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":83,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":86,"character":18},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":87,"character":21},{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getAvatarColor":[{"__symbolic":"method"}],"initSelectOption":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"handleClose":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"getBoardUserData":[{"__symbolic":"method"}],"selectedPersonChange":[{"__symbolic":"method"}],"doSubmit":[{"__symbolic":"method"}],"patchColumnUser":[{"__symbolic":"method"}],"inviteMailKeyEvent":[{"__symbolic":"method"}],"doSendInvite":[{"__symbolic":"method"}]}},"ɵdu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"nf-task-status","template":"<div class=\"task-status-component\">\r\n  <ng-container *ngIf=\"taskStatusData.length > 2\">\r\n    <nz-tag [nzColor]=\"taskStatusData[0].status === 'done'?'success':'default'\">\r\n      <i *ngIf=\"taskStatusData[0].status === 'done'\" nz-icon nzType=\"check-circle\"></i>\r\n      <span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipTitle=\"{{taskStatusData[0].title}}\">{{taskStatusData[0].title}}</span>\r\n    </nz-tag>\r\n    <nz-tag [nzColor]=\"taskStatusData[1].status === 'done'?'success':'default'\">\r\n      <i *ngIf=\"taskStatusData[1].status === 'done'\" nz-icon nzType=\"check-circle\"></i>\r\n      <span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipTitle=\"{{taskStatusData[1].title}}\">{{taskStatusData[1].title}}</span>\r\n    </nz-tag>\r\n    <button nz-button nzType=\"default\" class=\"show-more-task\" nz-dropdown [nzDropdownMenu]=\"menu\">...</button>\r\n    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n      <ul nz-menu nzSelectable>\r\n        <li *ngFor=\"let item of taskStatusData\" nz-menu-item>\r\n          <div [ngStyle]=\"{color: item.status === 'done' ? '#52c41a' : 'rgba(0, 0, 0, 0.65)'}\">\r\n            <i *ngIf=\"item.status === 'done'\" nz-icon nzType=\"check-circle\"></i> {{item.title}}\r\n          </div>\r\n        </li>\r\n      </ul>\r\n    </nz-dropdown-menu>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"taskStatusData.length <= 2\">\r\n    <ng-container *ngFor=\"let tag of taskStatusData\">\r\n      <ng-container *ngIf=\"tag.status === 'done';else otherStatus\">\r\n        <nz-tag nzColor=\"success\">\r\n          <i nz-icon nzType=\"check-circle\"></i>\r\n          <span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipTitle=\"{{tag.title}}\">{{tag.title}}</span>\r\n        </nz-tag>\r\n      </ng-container>\r\n      <ng-template #otherStatus>\r\n        <nz-tag nzColor=\"default\">\r\n          <span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipTitle=\"{{tag.title}}\">{{tag.title}}</span>\r\n        </nz-tag>\r\n      </ng-template>\r\n    </ng-container>\r\n  </ng-container>\r\n</div>\r\n","styles":["::ng-deep .ant-tag{margin-top:5px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-status-component{height:36px;padding:0 3px}.show-more-task{font-size:18px;height:23px;line-height:0;padding:0 2px;position:absolute;top:8px}::ng-deep .show-more-task.ant-btn>span{height:10px;line-height:0}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3},"arguments":["nfPulseData"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"ɵdv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"nf-task-handle","template":"<div class=\"task-handle-component\">\r\n  <ng-container *ngIf=\"pulse.columnValues[column.id]\">\r\n    {{pulse.columnValues[column.id].title}}<ng-container *ngIf=\"pulse.columnValues[column.id].title\">：</ng-container>\r\n    <ng-container *ngIf=\"pulse.columnValues[column.id].operationCode === 'radio'\">\r\n      <nz-radio-group [nzDisabled]=\"nfDisabled\" [(ngModel)]=\"pulse.columnValues[column.id].value\" (ngModelChange)=\"selectChange($event)\">\r\n        <label *ngFor=\"let o of pulse.columnValues[column.id].option\" nz-radio [nzValue]=\"o.value\">{{o.label}}</label>\r\n      </nz-radio-group>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"pulse.columnValues[column.id].operationCode === 'checkbox'\">\r\n      <nz-select\r\n        [nzDisabled]=\"nfDisabled\"\r\n        style=\"width:120px\"\r\n        [nzMaxTagCount]=\"1\"\r\n        [nzMaxTagPlaceholder]=\"tagPlaceHolder\"\r\n        nzMode=\"multiple\"\r\n        nzAllowClear\r\n        [nzSize]=\"'small'\"\r\n        (ngModelChange)=\"selectChange($event)\"\r\n        nzPlaceHolder=\"请选择\"\r\n        [(ngModel)]=\"pulse.columnValues[column.id].value\">\r\n        <nz-option *ngFor=\"let item of pulse.columnValues[column.id].option\" [nzLabel]=\"item.label\" [nzValue]=\"item.value\"></nz-option>\r\n      </nz-select>\r\n      <ng-template #tagPlaceHolder let-selectedList> + {{ selectedList.length }}</ng-template>\r\n    </ng-container>\r\n  </ng-container>\r\n</div>\r\n","styles":[".task-handle-component{padding:0 3px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3},"arguments":["nfPulseData"]}]}],"ChangeDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3},"arguments":["nfDisabled"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":43,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"selectChange":[{"__symbolic":"method"}]}},"ɵdw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-task-progress","template":"<div class=\"task-progress-component\">\r\n  <ng-container *ngIf=\"pulse.children; else taskStatusTemp\">\r\n    <div class=\"progress-component-wrapper\">\r\n      <nz-progress [nzFormat]=\"formatProgress\" [nzPercent]=\"pulse.columnValues[column.id] && pulse.columnValues[column.id].progress?pulse.columnValues[column.id].progress:0\"></nz-progress>\r\n    </div>\r\n  </ng-container>\r\n  <ng-template #taskStatusTemp>\r\n    <div class=\"status-component-wrapper\">\r\n      <ng-container *ngIf=\"nfDisabled;else disTemp\">\r\n        <div\r\n          class=\"status-font-color\"\r\n          style=\"height:100%\"\r\n          [style.background-color]=\"pulse.columnValues[column.id] && pulse.columnValues[column.id].value?pulse.columnValues[column.id].value.color:'#efefef'\">\r\n          {{pulse.columnValues[column.id] && pulse.columnValues[column.id].value?pulse.columnValues[column.id].value.label:''}}\r\n          <ng-container\r\n            *ngIf=\"this.pulse.columnValues[this.column.id] && this.pulse.columnValues[this.column.id].remarks\">\r\n            <a (click)=\"openRemarksDialog($event)\" class=\"task-remarks-icont\"><i nz-icon nzType=\"message\" nzTheme=\"outline\"></i></a>\r\n          </ng-container>\r\n        </div>\r\n      </ng-container>\r\n      <ng-template #disTemp>\r\n        <div\r\n          nz-popover\r\n          nzPopoverPlacement=\"bottomLeft\"\r\n          [(nzPopoverVisible)]=\"popVisible\"\r\n          [nzPopoverContent]=\"statusColorTemplate\"\r\n          nzPopoverTrigger=\"click\"\r\n          class=\"status-font-color\"\r\n          style=\"height:100%\"\r\n          [style.background-color]=\"pulse.columnValues[column.id] && pulse.columnValues[column.id].value?pulse.columnValues[column.id].value.color:'#efefef'\">\r\n          {{pulse.columnValues[column.id] && pulse.columnValues[column.id].value?pulse.columnValues[column.id].value.label:''}}\r\n          <ng-container\r\n            *ngIf=\"this.pulse.columnValues[this.column.id] && (this.pulse.columnValues[this.column.id].authorizedValue || this.pulse.columnValues[this.column.id].remarks)\">\r\n            <a (click)=\"openRemarksDialog($event)\" class=\"task-remarks-icont\"><i nz-icon nzType=\"message\" nzTheme=\"outline\"></i></a>\r\n          </ng-container>\r\n        </div>\r\n      </ng-template>\r\n      <ng-template #statusColorTemplate>\r\n        <ng-container *ngIf=\"column.labels\">\r\n          <div class=\"status-picker-container\">\r\n            <div class=\"status-picker-wrapper\" [ngStyle]=\"getStatusWidth(column.labels)\">\r\n              <div class=\"status-picker-colors-view\" style=\"height:180px\">\r\n                <div class=\"new-status-picker-color-option-viewing\" *ngFor=\"let item of column.labels\">\r\n                  <div class=\"status-color-background\" (click)=\"changeStatus(pulse, item, column)\" [style.background-color]=\"item.color\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span>{{item.label}}</span>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </ng-container>\r\n      </ng-template>\r\n    </div>\r\n  </ng-template>\r\n</div>\r\n<!-- 授权窗口 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isAuthVisible\"\r\n  [nzTitle]=\"'申请授权'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzWidth]=\"'30%'\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  [nzFooter]=\"authModalFooter\"\r\n  (nzOnCancel)=\"handleAuthCancel()\">\r\n  <div class=\"dialog-content\" *ngIf=\"isAuthVisible\">\r\n    <nz-form-item>\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzRequired nzFor=\"authorized\">授权人员</nz-form-label>\r\n      <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n        <input nz-input [(ngModel)]=\"authorizedValue\" />\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzRequired nzFor=\"authorized\">密码</nz-form-label>\r\n      <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n        <input type=\"password\" nz-input [(ngModel)]=\"authorizedPassword\" />\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </div>\r\n  <ng-template #authModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleAuthCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleAuthOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 强制完成窗口 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isCompleteVisible\"\r\n  [nzTitle]=\"'强制完成'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzWidth]=\"'30%'\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  [nzFooter]=\"completeModalFooter\"\r\n  (nzOnCancel)=\"handleCompleteCancel()\">\r\n  <div class=\"dialog-content\" *ngIf=\"isCompleteVisible\">\r\n<!--    <nz-form-item>-->\r\n<!--      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzRequired nzFor=\"operator\">操作人员</nz-form-label>-->\r\n<!--      <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">-->\r\n<!--        <input nz-input [(ngModel)]=\"operator\" />-->\r\n<!--      </nz-form-control>-->\r\n<!--    </nz-form-item>-->\r\n    <nz-form-item>\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzRequired nzFor=\"operator\">操作原因</nz-form-label>\r\n      <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n        <textarea nz-input [(ngModel)]=\"reason\" [nzAutosize]=\"{ minRows: 3, maxRows: 5 }\"></textarea>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </div>\r\n  <ng-template #completeModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleCompleteCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleCompleteOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 延期窗口 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"isDelayVisible\"\r\n  [nzTitle]=\"'延期'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzWidth]=\"'30%'\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  [nzFooter]=\"delayModalFooter\"\r\n  (nzOnCancel)=\"handleDelayCancel()\">\r\n  <div class=\"dialog-content\" *ngIf=\"isDelayVisible\">\r\n    <nz-form-item>\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzRequired nzFor=\"delayDate\">任务延期至</nz-form-label>\r\n      <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n        <nz-date-picker style=\"width:300px\" [(ngModel)]=\"delayDate\"></nz-date-picker>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </div>\r\n  <ng-template #delayModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleDelayCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleDelayOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!-- 查看强制完成 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"remarksVisible\"\r\n  [nzTitle]=\"'信息'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzWidth]=\"'30%'\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  [nzFooter]=\"remarksModalFooter\"\r\n  (nzOnCancel)=\"handleRemarksCancel()\">\r\n  <div class=\"dialog-content\" *ngIf=\"remarksVisible\">\r\n    <ul class=\"remarks-list\">\r\n      <li *ngIf=\"this.pulse.columnValues[this.column.id].authorizedValue\"><strong>授权人：</strong>{{this.pulse.columnValues[this.column.id].authorizedValue}}</li>\r\n<!--      <li *ngIf=\"this.pulse.columnValues[this.column.id].remarks\"><strong>操作人：</strong>{{this.pulse.columnValues[this.column.id].remarks.operator}}</li>-->\r\n      <li *ngIf=\"this.pulse.columnValues[this.column.id].remarks\"><strong>强制完成原因：</strong>{{this.pulse.columnValues[this.column.id].remarks.reason}}</li>\r\n    </ul>\r\n  </div>\r\n  <ng-template #remarksModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleRemarksCancel()\">关闭</button>\r\n  </ng-template>\r\n</nz-modal>\r\n","styles":[".status-font-color{color:#fff}.new-status-picker-dialog-wrapper .status-picker-container{display:flex;justify-content:center}.status-picker-container{width:100%}.status-picker-wrapper{border-radius:4px;font-size:13px;height:100%;pointer-events:all;position:relative;transition:width .1s}.status-picker-wrapper:before{border-bottom-color:#c4c4c4;border-width:10px;right:50%;transform:translateX(50%)}.status-picker-wrapper:after,.status-picker-wrapper:before{border:solid hsla(0,0%,88.2%,0);bottom:100%;content:\" \";height:0;pointer-events:none;position:absolute;width:0}.status-picker-wrapper:after{border-bottom-color:#fff;border-width:8px;right:50%;transform:translateX(50%)}.status-picker-wrapper .status-picker-colors-view{align-content:space-between;padding-left:16px;padding-right:16px}.new-status-picker-color-option-viewing{-ms-grid-row-align:inherit;align-self:auto;border-radius:2px;color:#fff;cursor:pointer;flex:0 0 32px;font-weight:400;height:32px;line-height:32px;margin-bottom:8px;margin-right:8px;position:relative;text-align:center;transition:transform .1s ease-in-out,opacity .1s ease-in-out;width:134px}.new-status-picker-color-option-viewing .status-color-background{height:32px;line-height:32px;text-align:center;width:100%}.status-color-background:hover{opacity:.8}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.status-picker-wrapper .status-picker-footer-wrapper{flex:0 0 auto;height:30px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-top:2px solid #f1f1f1;color:#009aff;cursor:pointer;font-size:13px;height:40px;line-height:40px;position:relative;text-align:center;top:-3px;transition:color .1s;user-select:none}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer i{font-size:18px;margin-right:5px}.status-picker-wrapper .status-picker-footer-wrapper .status-picker-footer:hover{background:#009aff;color:#fff}.status-picker-wrapper .status-picker-editing-wrapper{transition:height .15s ease}.status-picker-wrapper .status-picker-colors-editing{align-content:flex-start}.status-picker-color-option-editing{-moz-user-select:none;-ms-grid-row-align:auto;-ms-user-select:none;-webkit-user-select:none;align-self:auto;border-radius:2px;display:flex;flex:0 0 40px;font-weight:400;height:40px;line-height:32px;position:relative;text-align:center;user-select:none;width:130px}.status-picker-color-option-editing .status-picker-drag-handle{color:#c4c4c4;cursor:move;flex:0 0 12px;padding:1px 2px 0 0}.status-picker-color-option-editing .status-picker-color-input-wrapper{border-radius:2px;display:flex;flex:0 0 104px;height:32px;width:104px}.status-picker-color-option-editing .status-picker-color-input-wrapper .color-option-box{border:1px solid transparent;border-radius:2px 0 0 2px;border-right-width:0;flex:0 0 16px;height:100%;padding-right:1px;width:18px}.status-picker-wrapper .status-picker-colors-editing,.status-picker-wrapper .status-picker-colors-view{align-items:flex-start;display:flex;flex:1 0 auto;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;min-width:0;overflow:hidden;padding:16px 8px 0 2px;width:100%}.status-picker-color-option-editing .color-option-box:not(.is-disabled){cursor:pointer}.status-picker-color-option-editing .color-option-box{color:#fff;flex:0 0 16px;font-size:16px}.delete-status-icon-wrapper{cursor:pointer}.delete-status-icon-wrapper i{color:rgba(0,0,0,.1)}.delete-status-icon-wrapper:hover i{color:rgba(0,0,0,.8)}.color-option-box i,.delete-status-icon-wrapper i,.status-picker-drag-handle i{visibility:hidden}.status-picker-color-option-editing:hover .color-option-box i,.status-picker-color-option-editing:hover .delete-status-icon-wrapper i,.status-picker-color-option-editing:hover .status-picker-drag-handle i{visibility:visible}.delete-status-icon-wrapper{margin-left:3px}::ng-deep .status-edit-input.ant-input{background:#f7f7f7;border-left:none;border-radius:0 2px 2px 0}.status-change-color-wrapper .status-change-color{align-content:flex-start;align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:4px;position:absolute;transform:scaleY(0);transition:transform .15s ease;width:100%;z-index:1}.status-change-color-icon{border:1px solid #fff;border-radius:50%;cursor:pointer;height:20px;margin:4px;position:relative;transform:scale(0);transition:transform .15s ease;width:20px}.status-change-color-wrapper .status-change-color .status-change-color-background{background-color:#f7f7f7;border-bottom:2px solid #f1f1f1;border-top:2px solid #f1f1f1;height:36px;left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:center bottom;transition:transform .15s ease;width:100%}.status-change-color-wrapper .status-change-color.open,.status-change-color-wrapper .status-change-color .status-change-color-background.open{transform:scaleY(1)}.status-change-color-icon.open{transform:scale(1)}.status-change-color-icon.open:hover{box-shadow:0 1px 8px -2px #000;transform:scale(1.2)}.status-placeholder{cursor:pointer}.status-placeholder .status-placeholder-background{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;align-items:center;border:1px dashed #c4c4c4;border-radius:2px;color:#c4c4c4;display:flex;font-size:12px;height:32px;justify-content:center;margin:0 12px 0 15px;transition:background-color .2s ease-in;user-select:none;width:104px}::ng-deep .ant-progress-inner{background:#fff}::ng-deep .ant-progress-text{font-weight:700}.progress-component-wrapper{margin:auto;width:80%}.task-remarks-icont{color:#fff;cursor:pointer;font-size:18px;position:absolute;right:5px}.remarks-list li{margin:10px 0;padding:0 0 3px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3},"arguments":["nfPulseData"]}]}],"ChangeDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3},"arguments":["nfDisabled"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":75,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"getStatusWidth":[{"__symbolic":"method"}],"changeStatus":[{"__symbolic":"method"}],"preTaskHandle":[{"__symbolic":"method"}],"taskEventHandle":[{"__symbolic":"method"}],"taskStatusChange":[{"__symbolic":"method"}],"handleProgress":[{"__symbolic":"method"}],"handleParentProgress":[{"__symbolic":"method"}],"duplicateRemoval":[{"__symbolic":"method"}],"handleAuthOk":[{"__symbolic":"method"}],"handleAuthCancel":[{"__symbolic":"method"}],"handleCompleteOk":[{"__symbolic":"method"}],"handleCompleteCancel":[{"__symbolic":"method"}],"handleDelayOk":[{"__symbolic":"method"}],"handleDelayCancel":[{"__symbolic":"method"}],"openRemarksDialog":[{"__symbolic":"method"}],"handleRemarksCancel":[{"__symbolic":"method"}],"encodePassword":[{"__symbolic":"method"}],"getPublicKey":[{"__symbolic":"method"}]}},"ɵdx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"nf-handler","template":"<div class=\"task-handler-component\">\r\n  <ng-container *ngIf=\"pulse.columnValues[column.id] && pulse.columnValues[column.id].personsAndTeams\">\r\n    <div class=\"multiple-person-bullet\" *ngFor=\"let list of pulse.columnValues[column.id].personsAndTeams\">\r\n      <nz-tag [nzColor]=\"'rgb(33, 150, 243)'\">{{list.name}}</nz-tag>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n","styles":[".multiple-person-bullet{display:inline-block;margin-right:3px;text-align:center}.task-handler-component{height:36px;line-height:36px;text-align:center}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3},"arguments":["nfPulseData"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵdy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"nf-task-button","template":"<div class=\"task-button-component\">\r\n  <ng-container *ngIf=\"auditItemIdList.length && monitorItemIdList.length;else buttonTemp\">\r\n    <span *ngIf=\"auditItemIdList.length\" (click)=\"auditResults()\" class=\"task-button-item\"><a>稽核结果</a></span>\r\n    <span *ngIf=\"monitorItemIdList.length\" (click)=\"monitorResults()\" class=\"task-button-item\"><a>监控结果</a></span>\r\n    <a nz-dropdown [nzDropdownMenu]=\"menu\">\r\n      更多\r\n      <i nz-icon nzType=\"down\"></i>\r\n    </a>\r\n    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n      <ul nz-menu nzSelectable>\r\n        <li nz-menu-item *ngIf=\"auditItemIdList.length\">\r\n          <ng-template\r\n            [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n            [ngxPermissionsOnlyElse]=\"elseBlockA\">\r\n            <ng-container *ngIf=\"scanAuditStatus\"><a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"稽核扫描中\" style=\"color:#f00\" (click)=\"stopScanAudit()\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a></ng-container>\r\n            <span *ngIf=\"!scanAuditStatus\" (click)=\"refreshAudit()\" class=\"task-button-item\">\r\n              <a>刷新稽核</a>\r\n            </span>\r\n          </ng-template>\r\n          <ng-template #elseBlockA>\r\n            <span class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">刷新稽核</span>\r\n          </ng-template>\r\n        </li>\r\n        <li nz-menu-item *ngIf=\"monitorItemIdList.length\">\r\n          <ng-template\r\n            [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n            [ngxPermissionsOnlyElse]=\"elseBlockB\">\r\n            <ng-container *ngIf=\"scanMonitorStatus\"><a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"监控扫描中\" style=\"color:#f00\" (click)=\"stopScanMonitor()\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a></ng-container>\r\n            <span *ngIf=\"!scanMonitorStatus\" (click)=\"refreshMonitor()\" class=\"task-button-item\">\r\n              <a>刷新监控</a>\r\n            </span>\r\n          </ng-template>\r\n          <ng-template #elseBlockB>\r\n            <span class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">刷新监控</span>\r\n          </ng-template>\r\n        </li>\r\n        <li nz-submenu nzTitle=\"报表明细\" *ngIf=\"taskReportConfig\">\r\n          <ul>\r\n            <li nz-menu-item>\r\n              <span (click)=\"reportPreview()\" class=\"task-button-item\"><a>预览</a></span>\r\n            </li>\r\n            <li nz-menu-item>\r\n              <span (click)=\"reportExport()\" class=\"task-button-item\"><a>导出</a></span>\r\n            </li>\r\n          </ul>\r\n        </li>\r\n      </ul>\r\n    </nz-dropdown-menu>\r\n  </ng-container>\r\n  <ng-template #buttonTemp>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockC\">\r\n      <ng-container *ngIf=\"scanAuditStatus\"><a class=\"task-button-item\" style=\"color:#f00\" nz-tooltip nzTooltipTitle=\"稽核扫描中\" (click)=\"stopScanAudit()\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a></ng-container>\r\n      <ng-container *ngIf=\"!scanAuditStatus\"><span *ngIf=\"auditItemIdList.length\" (click)=\"refreshAudit()\" class=\"task-button-item\"><a>刷新稽核</a></span></ng-container>\r\n      <span *ngIf=\"auditItemIdList.length\" (click)=\"auditResults()\" class=\"task-button-item\"><a>稽核结果</a></span>\r\n      <ng-container *ngIf=\"scanMonitorStatus\"><a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"监控扫描中\" style=\"color:#f00\" (click)=\"stopScanMonitor()\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a></ng-container>\r\n      <ng-container *ngIf=\"!scanMonitorStatus\"><span *ngIf=\"monitorItemIdList.length\" (click)=\"refreshMonitor()\" class=\"task-button-item\"><a>刷新监控</a></span></ng-container>\r\n      <span *ngIf=\"monitorItemIdList.length\" (click)=\"monitorResults()\" class=\"task-button-item\"><a>监控结果</a></span>\r\n    </ng-template>\r\n    <ng-template #elseBlockC>\r\n      <span *ngIf=\"auditItemIdList.length\" class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">刷新稽核</span>\r\n      <span *ngIf=\"auditItemIdList.length\" (click)=\"auditResults()\" class=\"task-button-item\"><a>稽核结果</a></span>\r\n      <span *ngIf=\"monitorItemIdList.length\" class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">刷新监控</span>\r\n      <span *ngIf=\"monitorItemIdList.length\" (click)=\"monitorResults()\" class=\"task-button-item\"><a>监控结果</a></span>\r\n    </ng-template>\r\n    <span style=\"color:#1890ff;cursor: pointer\" class=\"task-button-item\" *ngIf=\"taskReportConfig\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n      报表明细\r\n      <i nz-icon nzType=\"down\"></i>\r\n    </span>\r\n    <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n      <ul nz-menu nzSelectable>\r\n        <li nz-menu-item>\r\n          <span (click)=\"reportPreview()\" class=\"task-button-item\"><a>预览</a></span>\r\n        </li>\r\n        <li nz-menu-item>\r\n          <span (click)=\"reportExport()\" class=\"task-button-item\"><a>导出</a></span>\r\n        </li>\r\n      </ul>\r\n    </nz-dropdown-menu>\r\n  </ng-template>\r\n</div>\r\n<!-- 稽核结果弹窗 -->\r\n<nz-modal\r\n  nzWrapClassName=\"vertical-center-modal\"\r\n  [(nzVisible)]=\"auditModalVisible\"\r\n  [nzTitle]=\"'稽核结果'\"\r\n  [nzWidth]=\"'60%'\"\r\n  [nzOkText]=\"null\"\r\n  nzCancelText=\"关闭\"\r\n  (nzOnCancel)=\"auditModalVisible=false;\">\r\n  <div class=\"audit-center\">\r\n    <div class=\"audit-panel\">\r\n      <div class=\"autiding-bottom connect\">\r\n        <div class=\"autiding-item\" *ngFor=\"let item of auditList\" [attr.id]=\"item.id\" (click)=\"openDetail(item)\">\r\n          <span>{{ item.name }}</span>\r\n          <label style=\"color: #FA541C;font-size:12px;\" *ngIf=\"item.status === 'abnormal'\">{{item.exceptionCount}}项</label>\r\n          <label style=\"color: #FA541C;font-size:12px;\" *ngIf=\"item.status === 'error'\">错误</label>\r\n          <label style=\"color: #45C165;font-size:12px;\" *ngIf=\"item.status === 'normal'\">完成</label>\r\n          <label style=\"color: #AAAAAA;font-size:12px;\" *ngIf=\"item.status === 'not_scan'\">未扫描</label>\r\n          <label style=\"color: #fa9c0f;font-size:12px;\" *ngIf=\"item.status === 'in_progress'\">扫描中</label>\r\n          <div class=\"autiding-oprate\">\r\n            <span>时间\r\n              <span [title]=\"item.schedule.schedulerDescription\" style=\"padding-left: 5px;\">{{item.schedule.schedulerDescription}}</span>\r\n              <nz-tag *ngIf=\"item.source==='out'\" [nzColor]=\"'#f50'\" style=\"margin-left: 5px;\">{{getOutSystemName(item.outSystem)}}</nz-tag>\r\n            </span>\r\n            <div class=\"audit-oprate\">\r\n              <i *ngIf=\"item.description\" nz-tooltip [nzTooltipTitle]=\"item.description\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\" style=\"color: #F6A624;\"></i>\r\n              <ng-template [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\">\r\n                <div *ngIf=\"item.status !== 'in_progress'\" style=\"display: inline-block;\" (click)=\"refreshAudit($event, item.id)\">\r\n                  <i nz-icon nzIconfont=\"icon-xingzhuang1\" style=\"margin-right: 5px;\"></i>\r\n                  <span>刷新</span>\r\n                </div>\r\n              </ng-template>\r\n              <label style=\"font-size:12px;\" (click)=\"openDetail(item)\">扫描结果</label>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</nz-modal>\r\n<!-- 监控结果弹窗 -->\r\n<nz-modal\r\n  nzWrapClassName=\"vertical-center-modal\"\r\n  [(nzVisible)]=\"monitorModalVisible\"\r\n  [nzTitle]=\"'监控结果'\"\r\n  [nzWidth]=\"'60%'\"\r\n  [nzOkText]=\"null\"\r\n  nzCancelText=\"关闭\"\r\n  (nzOnCancel)=\"monitorModalVisible=false;\">\r\n  <div class=\"supervisory-center\">\r\n    <div class=\"supervisory-panel-detail\">\r\n      <div class=\"autiding-bottom connect\">\r\n        <div class=\"autiding-item\" *ngFor=\"let item of monitorList\" [attr.id]=\"item.id\" (click)=\"openMonitorDetail(item)\">\r\n          <span>{{ item.name }}</span>\r\n          <label style=\"color: #FA541C;font-size:12px\" *ngIf=\"item.status === 'abnormal'\">{{item.exceptionCount}}项</label>\r\n          <label style=\"color: #FA541C;font-size:12px\" *ngIf=\"item.status === 'error'\">错误</label>\r\n          <label style=\"color: #45C165;font-size:12px\" *ngIf=\"item.status === 'normal'\">完成</label>\r\n          <label style=\"color: #AAAAAA;font-size:12px\" *ngIf=\"item.status === 'not_scan'\">未扫描</label>\r\n          <label style=\"color: #fa9c0f;font-size:12px\" *ngIf=\"item.status === 'in_progress'\">扫描中</label>\r\n          <div class=\"autiding-oprate\">\r\n             <span>时间\r\n              <span [title]=\"item.schedule.schedulerDescription\" style=\"padding-left: 5px;\">{{item.schedule.schedulerDescription}}</span>\r\n              <nz-tag *ngIf=\"item.source==='out'\" [nzColor]=\"'#f50'\" style=\"margin-left: 5px;\">{{getOutSystemName(item.outSystem)}}</nz-tag>\r\n            </span>\r\n            <div class=\"audit-oprate\">\r\n              <i *ngIf=\"item.description\" nz-tooltip [nzTooltipTitle]=\"item.description\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\" style=\"color: #F6A624;\"></i>\r\n              <ng-template [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\">\r\n              <div *ngIf=\"item.status !== 'in_progress'\" style=\"display: inline-block;\" (click)=\"refreshMonitor($event, item.id)\">\r\n                <i nz-icon nzIconfont=\"icon-xingzhuang1\" style=\"margin-right: 5px;\"></i>\r\n                <span>刷新</span>\r\n              </div>\r\n              </ng-template>\r\n              <label style=\"font-size:12px;\" (click)=\"openMonitorDetail(item)\">扫描结果</label>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</nz-modal>\r\n<!-- 稽核检查项详情 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"checkVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal noPadding'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzOkText]=\"null\"\r\n  [nzCancelText]=\"null\"\r\n  (nzOnCancel)=\"checkCancle()\"\r\n  nzWidth=\"100%\"\r\n  nzTitle=\"检查项详情\"\r\n>\r\n  <nf-check-list #checkList></nf-check-list>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" (click)=\"exportExcel()\">导出excel</button>\r\n    <button nz-button nzType=\"default\" (click)=\"checkCancle()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n<!-- 监控检查项详情 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"checkMonitorVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal noPadding'\"\r\n  [nzMaskClosable]=\"false\"\r\n  (nzOnCancel)=\"checkMonitorCancle()\"\r\n  nzWidth=\"100%\"\r\n  nzTitle=\"检查项详情\"\r\n>\r\n  <app-ratio-superisory #ratioSuperisory></app-ratio-superisory>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" nz-dropdown [nzDropdownMenu]=\"batchOperation\">发送提醒 <i nz-icon nzType=\"down\" style=\"font-size:12px;\"></i></button>\r\n    <nz-dropdown-menu #batchOperation=\"nzDropdownMenu\">\r\n      <ul class=\"table-size-list\" nz-menu>\r\n        <li nz-menu-item (click)=\"sendWarned('all')\">发送全部</li>\r\n        <li nz-menu-item (click)=\"sendWarned('checked')\">发送选择</li>\r\n      </ul>\r\n    </nz-dropdown-menu>\r\n    <button nz-button nzType=\"primary\" (click)=\"exportMonitorExcel()\">excel导出</button>\r\n    <button nz-button nzType=\"default\" (click)=\"checkMonitorCancle()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n<!-- 报表明细 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"reportVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal noPadding'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzOkText]=\"null\"\r\n  [nzCancelText]=\"null\"\r\n  (nzOnCancel)=\"checkReportCancle()\"\r\n  nzWidth=\"80%\"\r\n  nzTitle=\"报表明细\">\r\n  报表明细\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"checkReportCancle()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".task-button-component{text-align:left}.task-button-item{margin:2px 5px}.audit-center{background:#fff;display:flex;height:100%}.audit-panel{width:100%}.audit-panel-add{padding:10px 10px 0 20px;position:relative}.audit-panel-add h1{color:#4a4a4a;font-size:12px;height:20px;line-height:20px}.panel-oprate{display:none;position:absolute;right:11px;top:7px}.add-panel{padding-right:10px}.add-panel /deep/.ant-form-explain{bottom:-16px;position:absolute}.panel-edit{color:#41b8ff;font-size:16px;margin-right:5px}.panel-delete,.panel-edit{cursor:pointer;display:inline-block}.panel-delete{color:red;font-size:15px}.manual-img{height:207px;padding:19px 23px 0 27px}.autiding-top .autiding-tip{flex:7;padding-top:25px}.autiding-tip ul li{display:inline-block;width:80px}.autiding-tip ul li p{color:#4f4f4f;font-size:24px;height:34px;line-height:34px;margin-bottom:6px}.autiding-tip ul li span{color:#4f4f4f;display:inline-block;font-size:14px;height:20px;line-height:20px;opacity:.8}.autiding-tip button{background:#00b3f0;border:none;border-radius:26px;color:#fff;cursor:pointer;height:40px;line-height:40px;margin-bottom:14px;margin-top:13px;outline:none;width:178px}.autiding-bottom{padding:0 0 10px 12px}.autiding-item{background:#fff;border:1px solid #f7f7f7;border-radius:4px;border-radius:3px;box-shadow:1px 3px 3px rgba(0,0,0,.1);cursor:pointer;display:inline-block;float:left;height:90px;margin-right:1%;margin-top:10px;padding:12px 6px;position:relative;width:32.33%}.autiding-item>label{color:#f22735;position:absolute;right:10px;top:9px}.autiding-oprate{bottom:8px;position:absolute;right:0;width:100%}.autiding-oprate i{color:#41b8ff;cursor:pointer;font-size:18px;margin-left:10px;position:relative;top:2px}.autiding-oprate>span{color:#4a4a4a;display:inline-block;font-size:12px;opacity:.7;overflow:hidden;padding-left:6px;text-overflow:ellipsis;white-space:nowrap;width:96%}.autiding-oprate label{color:#2196f3;cursor:pointer;font-size:14px;margin-left:10px}.autiding-oprate>div{color:#2196f3;cursor:pointer;margin-left:12px}@-webkit-keyframes myAnimation{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.autiding-add-item{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.autiding-add-item>i{color:#cdcdcd;cursor:pointer;font-size:26px;margin-right:12px}.autiding-add-item>span{color:#4a4a4a;display:inline-block;font-size:18px;height:26px;line-height:26px;opacity:.88;position:relative;top:-3px}.auditing-authority{height:30px;margin:11px 0 10px;position:relative}.auditing-authority>ul{border:1px solid #2196f3;border-radius:3px;position:absolute;right:12px}.auditing-authority>ul li{color:#2e8de3;cursor:pointer;display:inline-block;font-size:12px;height:28px;line-height:28px;padding:0 10px}.auditing-authority>ul li i{font-size:15px;margin-right:5px}.audit-oprate{background:#fff;display:inline-block;margin-left:0;padding-right:11px;position:absolute;right:0}.item-scaning /deep/.ant-progress-circle .ant-progress-text{display:none}.item-scaning>span{color:#4f4f4f;font-size:11px}.setReloadData{position:absolute;right:359px;top:6px}.setReloadData>span{margin-right:10px}.shift-audit{padding-top:12px}.supervisory-type-item li{padding-left:28px}.add-icon{border:1px solid rgba(0,0,0,.65);border-radius:12px;display:inline-block;height:12px;line-height:9px;margin-right:5px;text-align:center;width:12px}.supervisory-center{background:#fff;display:flex;height:100%}.supervisory-panel{border-right:1px solid #ececec;display:flex;flex-direction:column;width:200px}.supervisory-panel .audit-panel-add{margin-bottom:5px;padding:10px 10px 0;position:relative}.supervisory-panel .audit-panel-add h1{color:#4a4a4a;font-size:12px;height:20px;line-height:20px}.panel-add-icon{background:#2196f3;border-radius:17px;color:#fff;cursor:pointer;display:inline-block;font-size:19px;height:17px;line-height:13px;position:absolute;right:11px;text-align:center;top:11px;width:17px}.supervisory-type-item>div{padding-right:40px;position:relative}.supervisory-type-item .panel-oprate{display:none;position:absolute;right:2px;top:2px}.supervisory-type-item>div:hover .panel-oprate{display:inline}.supervisory-type-item h5{font-size:12px;height:25px;line-height:25px;margin-bottom:0;overflow:hidden;padding-left:10px;text-overflow:ellipsis;white-space:nowrap}.currentPanel{background:#e9f2fb;border-right:2px solid #1890ff}.supervisory-type-item li{cursor:pointer;font-size:12px;height:30px;line-height:30px;overflow:hidden;padding-left:25px;padding-right:40px;position:relative;text-overflow:ellipsis;white-space:nowrap}.supervisory-type-item>ul li:hover .panel-oprate{display:inline}.supervisory-panel .panel-edit{color:#41b8ff;cursor:pointer;display:inline-block;font-size:16px;margin-right:5px}.supervisory-panel .panel-delete{color:red;cursor:pointer;display:inline-block;font-size:15px}.current-type{background:#eafbff}.supervisory-panel-detail{flex:1}.supervisory-panel-detail .auditing-authority{height:30px;margin:11px 0 10px;position:relative}.supervisory-panel-detail .auditing-authority>ul{border:1px solid #2196f3;border-radius:3px;position:absolute;right:12px}.supervisory-panel-detail .auditing-authority>ul li{color:#2e8de3;cursor:pointer;display:inline-block;font-size:12px;height:28px;line-height:28px;padding:0 10px}.supervisory-panel-detail .auditing-authority>ul li i{font-size:15px;margin-right:5px}.supervisory-panel-detail .autiding-top{background-size:100% 100%;border:1px solid #f7f7f7;border-radius:3px;box-shadow:1px 3px 3px rgba(0,0,0,.1);display:flex;margin:0 12px}.supervisory-panel-detail .autiding-top>div{display:inline-block;position:relative;width:250px}.supervisory-panel-detail .autiding-top div h1{color:#2ece8e;font-size:27px;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supervisory-panel-detail .autiding-top .autiding-tip{flex:7;padding-top:25px}.supervisory-panel-detail .autiding-tip ul li{display:inline-block;width:80px}.supervisory-panel-detail .autiding-tip ul li p{color:#4f4f4f;font-size:24px;height:34px;line-height:34px;margin-bottom:6px}.supervisory-panel-detail .autiding-tip ul li span{color:#4f4f4f;display:inline-block;font-size:14px;height:20px;line-height:20px;opacity:.8}.supervisory-panel-detail .autiding-tip button{background:#00b3f0;border:none;border-radius:26px;color:#fff;cursor:pointer;height:40px;line-height:40px;margin-bottom:14px;margin-top:13px;outline:none;width:178px}.circle1{border-radius:207px;height:207px;left:20px;opacity:.06;position:relative;top:0;width:207px}.circle2{border-radius:150px;height:150px;left:48px;opacity:.18;position:absolute;top:30px;width:150px}.circle3{border-radius:100px;height:100px;left:72px;position:absolute;text-align:center;top:54px;width:100px}.linearGradient1{background:linear-gradient(158.63deg,#f1bb76 3.73%,#f22735 89.52%);color:#fff;padding-top:20px}.linearGradient1 p{position:relative;text-align:center;top:20px}.linearGradient1 h2{color:#fff;font-size:25px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linearGradient2{background:linear-gradient(158.63deg,#6ed8f9 3.73%,#4387c5 89.52%);color:#fff;line-height:46px}.linearGradient2 h2{color:#fff;font-size:30px;margin:0;position:relative;top:12px}.linearGradient4{background:linear-gradient(158.63deg,#ebebeb 3.73%,#aaa 89.52%);color:#fff}.linearGradient4 p{position:relative;text-align:center;top:40px}.circleLoading{-webkit-animation:myAnimation 1.5s linear infinite;animation:myAnimation 1.5s linear infinite;opacity:1}@keyframes myAnimation{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.linearGradient3{background:linear-gradient(158.63deg,#86fdaf 3.73%,#45c165 89.52%);color:#fff;padding-top:30px}.linearGradient3 p{position:relative;text-align:center;top:10px}.supervisory-panel-detail .autiding-bottom{display:flex;flex-wrap:wrap;padding:0 0 10px 12px}.supervisory-panel-detail .autiding-item{background:#fff;border:1px solid #f7f7f7;border-radius:4px;border-radius:3px;box-shadow:1px 3px 3px rgba(0,0,0,.1);cursor:pointer;display:inline-block;float:left;height:90px;margin-right:1%;margin-top:10px;padding:12px 6px;position:relative;width:32.33%}.supervisory-panel-detail .autiding-item>label{color:#f22735;position:absolute;right:10px;top:9px}.supervisory-panel-detail .autiding-oprate{bottom:8px;position:absolute;right:0;width:100%}.supervisory-panel-detail .autiding-oprate i{color:#41b8ff;cursor:pointer;font-size:15px;margin-left:10px;position:relative;top:2px}.supervisory-panel-detail .autiding-oprate>span{color:#4a4a4a;display:inline-block;font-size:12px;opacity:.7;overflow:hidden;padding-left:6px;text-overflow:ellipsis;white-space:nowrap;width:96%}.supervisory-panel-detail .autiding-oprate label{color:#2196f3;cursor:pointer;font-size:14px;margin-left:10px}.supervisory-panel-detail .autiding-oprate>div{color:#2196f3;cursor:pointer;margin-left:12px}.supervisory-panel-detail .autiding-add-item{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.supervisory-panel-detail .autiding-add-item>i{color:#cdcdcd;cursor:pointer;font-size:26px;margin-right:12px}.supervisory-panel-detail .autiding-add-item>span{color:#4a4a4a;display:inline-block;font-size:18px;height:26px;line-height:26px;opacity:.88;position:relative;top:-3px}.set-auto,.set-hand{background:#3cdb55;border-radius:2px;border-radius:14px;color:#fff;display:inline-block;font-size:7px;height:14px;left:8px;line-height:14px;position:absolute;text-align:center;top:7px;width:14px}.set-auto{transform:scale(.9)}.set-hand{background:#f2c94c!important;padding:0 2px}.supervisory-type-item li:hover>.show-num{display:none}.show-num{background:#f6414a;border-radius:2px;color:#fff;display:inline-block;font-size:7px;height:14px;line-height:14px;padding:0 2px;position:absolute;right:5px;top:9px}.setDate{position:absolute;right:80px}.setDate>span{margin-right:10px}.connect:after{clear:both}.supervisory-type-list{flex:1;overflow:auto}::ng-deep .ant-dropdown-menu-submenu-title{color:#1890ff;cursor:pointer}"]}]}],"members":{"checkList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":44,"character":3},"arguments":["checkList"]}]}],"ratioSuperisory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":45,"character":3},"arguments":["ratioSuperisory"]}]}],"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3},"arguments":["nfPulseData"]}]}],"ChangePermissionDefinition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3},"arguments":["nfPermissionDefinition"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":71,"character":21},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":73,"character":22},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":74,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"refreshAudit":[{"__symbolic":"method"}],"pollingScanStatus":[{"__symbolic":"method"}],"refreshTodayAudit":[{"__symbolic":"method"}],"postBoardPulseScanLogData":[{"__symbolic":"method"}],"refreshMonitor":[{"__symbolic":"method"}],"refreshTodayMonitor":[{"__symbolic":"method"}],"auditResults":[{"__symbolic":"method"}],"monitorResults":[{"__symbolic":"method"}],"openDetail":[{"__symbolic":"method"}],"checkCancle":[{"__symbolic":"method"}],"checkMonitorCancle":[{"__symbolic":"method"}],"openMonitorDetail":[{"__symbolic":"method"}],"exportExcel":[{"__symbolic":"method"}],"getAuditResult":[{"__symbolic":"method"}],"getIndicatorResult":[{"__symbolic":"method"}],"sendWarned":[{"__symbolic":"method"}],"exportMonitorExcel":[{"__symbolic":"method"}],"getOutSystemName":[{"__symbolic":"method"}],"reportPreview":[{"__symbolic":"method"}],"reportExport":[{"__symbolic":"method"}],"checkReportCancle":[{"__symbolic":"method"}],"getAuditProgress":[{"__symbolic":"method"}],"stopScanAudit":[{"__symbolic":"method"}],"stopScanMonitor":[{"__symbolic":"method"}]}},"ɵdz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-task-status-archive","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\">当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnConditionVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnConditionData}\">{{columnConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择列</div>\r\n                        <ng-container *ngFor=\"let item of columnConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnConditionData}\" (click)=\"columnConditionChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusConditionVisible\"  [nzPopoverContent]=\"statusConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': statusConditionData != null}\">{{statusConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                        <ng-container *ngIf=\"columnConditionData\">\r\n                          <ng-container *ngFor=\"let item of statusConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.index == statusConditionData}\" (click)=\"statusConditionChange(item)\">\r\n                              <div class=\"column-title\">\r\n                                <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                                {{item.label ? item.label : '默认'}}\r\n                              </div>\r\n                            </div>\r\n                        </ng-container>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!columnConditionData\">\r\n                         <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" style=\"margin-left:10px\"></i> 请先选择列\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，归档这个任务</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"initSelectData":[{"__symbolic":"method"}],"columnConditionChange":[{"__symbolic":"method"}],"statusConditionChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵea":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-common-supervisory-update-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 监听到关联的监控状态为正常时，自动完成任务 </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":38,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵeb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-common-log-task-archive","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\">当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"columnConditionVisible\" [nzPopoverContent]=\"columnConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': columnConditionData}\">{{columnConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #columnConditionTemplate>\r\n                      <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择列</div>\r\n                        <ng-container *ngFor=\"let item of columnConditionSelectList\">\r\n                          <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': item.id == columnConditionData}\" (click)=\"columnConditionChange(item)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{item.title}}</div>\r\n                      </div>\r\n                        </ng-container>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的任务状态为完成时，归档这个任务</span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"initSelectData":[{"__symbolic":"method"}],"columnConditionChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}]}},"ɵec":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"nf-check-list","template":"<div class=\"check-list\">\r\n  <div class=\"data-source\" [ngStyle]=\"{'max-height': layerHeight + 'px'}\">\r\n    <!-- <span>{{condition.title}}<i nz-icon nzIconfont=\"icon-MAH-qietu\" (click)=\"showFilter()\"></i></span>\r\n    <ul *ngIf=\"filterVisible\">\r\n      <li *ngFor=\"let item of filterList\" (click)=\"changeFilter(item)\">\r\n        {{item.title}}\r\n      </li>\r\n    </ul> -->\r\n    <!-- <button nz-button nzType=\"primary\" style=\"margin: 10px;\" (click)=\"exportHandle()\">excel导出</button> -->\r\n    <div class=\"check-list-search-content\" *ngIf=\"formTemplate.properties && formTemplate.properties.length\">\r\n      <div class=\"checlit-list-search-form\">\r\n        <nf-schema-form\r\n          #queryForm\r\n          [framework]=\"'ng-zorro'\"\r\n          [config]=\"formTemplate\"\r\n          [footer]=\"null\"\r\n          [environment]=\"environment\"\r\n          [collapsed]=\"isQueryCollapsed\"\r\n          (keyup.enter)=\"enterQuery($event)\"\r\n          (ngSubmit)=\"doSubmit($event)\"\r\n          >\r\n        </nf-schema-form>\r\n      </div>\r\n      <div class=\"checlit-list-search-btn\">\r\n        <button nz-button nzType=\"primary\" (click)=\"searchHandle($event)\" [nzLoading]=\"isQueryLoading\">搜索</button>\r\n        <button nz-button nzType=\"default\" (click)=\"emptyForm()\">清空</button>\r\n        <div style=\"margin-top: 6px;\">\r\n          <button type=\"button\" (click)=\"queryCollapse()\" nz-button *ngIf=\"formTemplate && formTemplate.properties.length > 6 && formCollapsed !== 0\"><i [style.transform]=\"!isQueryCollapsed ? 'rotate(270deg)' : 'rotate(90deg)'\" nz-icon nzType=\"double-right\" nzTheme=\"outline\"></i></button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"check-table\">\r\n      <div class=\"table-left\">\r\n        <h2>{{columsList.dataSources[0].name}}</h2>\r\n        <span class=\"total-count\" *ngIf=\"title.source1 || title.source1 === 0\">总记录数：{{title.source1}}</span>\r\n        <nz-table\r\n          #nzTable\r\n          [nzData]=\"dataSource1\"\r\n          [nzShowPagination]=\"false\"\r\n          [nzLoading]=\"pageLoading\"\r\n          [nzScroll]=\"{ x: tableWidth1 + 'px', y: countHeight + 'px'}\"\r\n          >\r\n            <thead>\r\n              <tr>\r\n                <th nzWidth=\"25px\" nzLeft=\"0px\"></th>\r\n                <ng-container *ngFor=\"let data of columsList.columns.dataSourceId1\">\r\n                  <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n                </ng-container>\r\n                <!-- <th></th> -->\r\n              </tr>\r\n            </thead>\r\n            <tbody>\r\n              <tr *ngFor=\"let data of dataSource1;let i = index;\" (click)=\"openDetail(i, '1')\" [ngStyle]=\"{background: color[data.status]}\">\r\n                <td nzLeft=\"0px\" style=\" background: #E3E3E3 !important;\" nzEllipsis [title]=\"i+1\">\r\n                  <span class=\"row-order\">{{ i + 1 }}</span>\r\n                </td>\r\n                <td *ngFor=\"let source1 of columsList?.columns.dataSourceId1\" nzEllipsis [title]=\"data[source1.code] || data[source1.code] == '0' ? data[source1.code] : '-'\">\r\n                  <span *ngIf=\"data[source1.code] || data[source1.code] == '0'\" [ngClass]=\"data[source1.code + 'Unequal'] ? 'red' : ''\">{{data[source1.code]}}</span>\r\n                  <span *ngIf=\"!data[source1.code] && data[source1.code] != '0'\" [ngClass]=\"data[source1.code + 'Unequal'] ? 'red' : ''\"> - </span>\r\n                </td>\r\n                <!-- <td></td> -->\r\n              </tr>\r\n            </tbody>\r\n        </nz-table>\r\n        <nz-table\r\n          *ngIf=\"dataSource1Footer.length\"\r\n          #basicTable\r\n          [nzData]=\"dataSource1Footer\"\r\n          class=\"source1-footer\"\r\n          [nzScroll]=\"{ x: tableWidth1 + 'px', y: countHeight + 'px'}\"\r\n          [nzFrontPagination]=\"false\"\r\n          [nzShowPagination]=\"false\"\r\n          >\r\n          <thead>\r\n            <tr>\r\n              <th nzWidth=\"25px\"></th>\r\n              <ng-container *ngFor=\"let data of columsList.columns.dataSourceId1\">\r\n                <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n              </ng-container>\r\n              <!-- <th></th> -->\r\n            </tr>\r\n          </thead>\r\n          <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data\" style=\"height: 40px;\">\r\n              <td></td>\r\n              <td *ngFor=\"let source1 of columsList?.columns.dataSourceId1\" nzEllipsis>\r\n                <span *ngIf=\"dataSource1Footer[0][source1.code] || dataSource1Footer[0][source1.code] === 0\" style=\"font-weight: 600;\" [title]=\"'合计：' + dataSource1Footer[0][source1.code]\">合计：{{dataSource1Footer[0][source1.code]}}</span>\r\n              </td>\r\n              <!-- <td></td> -->\r\n            </tr>\r\n          </tbody>\r\n        </nz-table>\r\n      </div>\r\n      <div class=\"table-right\">\r\n        <h2>{{columsList.dataSources[1].name}}</h2>\r\n        <span class=\"total-count\" *ngIf=\"title.source2 || title.source2 === 0\">总记录数：{{title.source2}}</span>\r\n        <nz-table\r\n          #nzTable\r\n          [nzData]=\"dataSource2\"\r\n          [nzShowPagination]=\"false\"\r\n          [nzLoading]=\"pageLoading\"\r\n          [nzScroll]=\"{ x: tableWidth2 + 'px', y: countHeight + 'px'}\"\r\n          >\r\n            <thead>\r\n              <tr>\r\n                <ng-container  *ngFor=\"let data of columsList.columns.dataSourceId2\">\r\n                  <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n                </ng-container>\r\n                <!-- <th></th> -->\r\n              </tr>\r\n            </thead>\r\n            <tbody>\r\n              <tr *ngFor=\"let data of dataSource2;let i = index;\" (click)=\"openDetail(i, '2')\" [ngStyle]=\"{background: color[data.status]}\">\r\n                <td *ngFor=\"let source2 of columsList?.columns.dataSourceId2\" nzEllipsis [title]=\"data[source2.code] || data[source2.code] == '0' ? data[source2.code] : '-'\">\r\n                  <span *ngIf=\"data[source2.code] || data[source2.code] == '0'\" [ngClass]=\"data[source2.code + 'Unequal'] ? 'red' : ''\">{{data[source2.code]}}</span>\r\n                  <span *ngIf=\"!data[source2.code] && data[source2.code] != '0'\" [ngClass]=\"data[source2.code + 'Unequal'] ? 'red' : ''\"> - </span>\r\n                </td>\r\n                <!-- <td></td> -->\r\n              </tr>\r\n            </tbody>\r\n        </nz-table>\r\n        <nz-table\r\n          *ngIf=\"dataSource2Footer.length\"\r\n          #basicTable\r\n          [nzData]=\"dataSource2Footer\"\r\n          class=\"source2-footer\"\r\n          [nzFrontPagination]=\"false\"\r\n          [nzShowPagination]=\"false\"\r\n          [nzScroll]=\"{ x: tableWidth2 + 'px', y: countHeight + 'px'}\">\r\n          <thead>\r\n            <tr>\r\n              <ng-container  *ngFor=\"let data of columsList.columns.dataSourceId2\">\r\n                <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n              </ng-container>\r\n              <!-- <th></th> -->\r\n            </tr>\r\n          </thead>\r\n          <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data\" style=\"height: 40px;\">\r\n              <td *ngFor=\"let source2 of columsList?.columns.dataSourceId2\" nzEllipsis>\r\n                <span *ngIf=\"dataSource2Footer[0][source2.code] || dataSource2Footer[0][source2.code] === 0\" [title]=\"'合计：' + dataSource2Footer[0][source2.code]\" style=\"font-weight: 600;\">合计：{{dataSource2Footer[0][source2.code]}}</span>\r\n              </td>\r\n              <!-- <td></td> -->\r\n            </tr>\r\n          </tbody>\r\n        </nz-table>\r\n      </div>\r\n    </div>\r\n    <div class=\"table-pagination\">\r\n      <nz-pagination [nzPageIndex]=\"page.page\"\r\n                     [nzTotal]=\"page.total\"\r\n                     nzShowSizeChanger\r\n                     [nzPageSize]=\"page.rows\"\r\n                     [nzShowTotal]=\"totalTemplate\"\r\n                     (nzPageIndexChange)=\"changePage($event)\"\r\n                     (nzPageSizeChange)=\"changeSize($event)\"></nz-pagination>\r\n      <ng-template #totalTemplate let-total>共 {{ page.total }} 条</ng-template>\r\n    </div>\r\n    <div class=\"compare-detail\" *ngIf=\"show\">\r\n      <div>\r\n        <span>数据对比详情</span>\r\n        <p (click)=\"hiddenDetail()\">收起 <i nz-icon nzIconfont=\"icon-spread-line\"></i></p>\r\n      </div>\r\n      <nz-table\r\n        #nzTable\r\n        [nzData]=\"dataDetail\"\r\n        [nzShowPagination]=\"false\"\r\n        [nzScroll]=\"{ x: tableWidth3 + 'px'}\"\r\n      >\r\n        <thead>\r\n          <tr>\r\n            <th  nzWidth=\"150px\" nzLeft=\"0px\"></th>\r\n            <th nzWidth=\"25px\" nzLeft=\"150px\"></th>\r\n            <ng-container *ngFor=\"let data of dataDetailHead\">\r\n              <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n            </ng-container>\r\n            <!-- <th></th> -->\r\n          </tr>\r\n        </thead>\r\n        <tbody>\r\n          <tr [ngStyle]=\"{background: color[dataDetail1.status]}\">\r\n            <td nzLeft=\"0px\" nzEllipsis [title]=\"dataDetail1.source\" style=\" background: #E3E3E3 !important;\">\r\n              <span>{{dataDetail1.source}}</span>\r\n            </td>\r\n            <td nzLeft=\"150px\" style=\" background: #E3E3E3 !important;\" nzEllipsis [title]=\"dataDetail1.order\">\r\n              <span class=\"row-order\">{{dataDetail1.order}}</span>\r\n            </td>\r\n            <td *ngFor=\"let source1 of columsList.columns.dataSourceId1\" nzEllipsis [title]=\"dataDetail1[source1.code] || dataDetail1[source1.code] == '0' ? dataDetail1[source1.code] : '-'\">\r\n              <span *ngIf=\"dataDetail1[source1.code] || dataDetail1[source1.code] == '0'\" [ngClass]=\"dataDetail1[source1.code + 'Unequal'] ? 'red' : ''\">{{dataDetail1[source1.code]}}</span>\r\n              <span *ngIf=\"!dataDetail1[source1.code] && dataDetail1[source1.code] != '0'\" [ngClass]=\"dataDetail1[source1.code + 'Unequal'] ? 'red' : ''\"> - </span>\r\n            </td>\r\n            <!-- <td></td> -->\r\n          </tr>\r\n          <tr [ngStyle]=\"{background: color[dataDetail2.status]}\">\r\n            <td nzLeft=\"0px\" nzEllipsis [title]=\"dataDetail2.source\" style=\" background: #E3E3E3 !important;\">\r\n              <span>{{dataDetail2.source}}</span>\r\n            </td>\r\n            <td nzLeft=\"150px\" style=\" background: #E3E3E3 !important;\" nzEllipsis [title]=\"dataDetail2.source\">\r\n              <span class=\"row-order\">{{dataDetail2.order}}</span>\r\n            </td>\r\n            <td *ngFor=\"let source2 of columsList.columns.dataSourceId2\" nzEllipsis [title]=\"dataDetail2[source2.code] || dataDetail2[source2.code] == '0' ? dataDetail2[source2.code] : '-'\">\r\n              <span *ngIf=\"dataDetail2[source2.code] || dataDetail2[source2.code] == '0'\" [ngClass]=\"dataDetail2[source2.code + 'Unequal'] ? 'red' : ''\">{{dataDetail2[source2.code]}}</span>\r\n              <span *ngIf=\"!dataDetail2[source2.code] && dataDetail2[source2.code] != '0'\" [ngClass]=\"dataDetail2[source2.code + 'Unequal'] ? 'red' : ''\"> - </span>\r\n            </td>\r\n            <!-- <td></td> -->\r\n          </tr>\r\n        </tbody>\r\n    </nz-table>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".data-source>span{display:inline-block;font-size:12px;margin:10px 12px}.data-source>span i{cursor:pointer;margin-left:5px}.data-source>ul{background:#fff;border:1px solid #f8f8f8;font-size:12px;left:42px;position:absolute;text-align:center;top:30px;width:80px;z-index:2}.data-source>ul li{cursor:pointer}.data-source{overflow:auto;position:relative}.table-left{border-right:3px solid #e3e3e3}.table-left,.table-right{float:left;position:relative;width:50%}.table-left>h2,.table-right>h2{background:#ebf4fd;color:#7f7f7f;font-size:12px;height:32px;line-height:32px;margin-bottom:0;padding:0 11px}.check-table{overflow:auto}.check-list /deep/.ant-table-thead>tr>th{color:#6e6d6d;padding:3px 5px;text-align:left}.check-list /deep/.ant-table-tbody>tr>td{color:#4a4a4a;height:25px;padding:3px 5px;text-align:left}.row-order{color:#767474;display:inline-block;text-align:center}.show-detail{overflow:auto}.table-pagination{margin-top:10px;padding-bottom:10px;text-align:right}.compare-detail>div{padding:11px;position:relative}.compare-detail>span{color:#5c5c5c}.compare-detail p{color:#5c5c5c;cursor:pointer;position:absolute;right:11px;top:11px}.compare-detail{background:#fff;bottom:0;position:absolute;width:100%;z-index:1}.red{color:#e23046}.check-list /deep/.ant-table-body{overflow:auto!important}.check-list .source1-footer /deep/.ant-table-body,.check-list .source2-footer /deep/.ant-table-body{overflow:hidden!important}.check-list /deep/.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.check-list /deep/.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:hidden}.check-list /deep/.ant-table-fixed-column .ant-table-tbody>tr:nth-child(2n) td,.check-list /deep/.ant-table-fixed-column .ant-table-tbody>tr:nth-child(odd) td,.check-list /deep/ant-table-fixed-column .ant-table-tbody>tr:nth-child(odd) td{background:none!important}.source1-footer /deep/.ant-table-thead,.source2-footer /deep/.ant-table-thead{display:none}.total-count{font-weight:600;position:absolute;right:20px;top:7px}.check-list-search-content{display:flex;padding:5px}.checlit-list-search-form{flex:1}.checlit-list-search-btn{padding-top:5px;width:240px}.checlit-list-search-btn button{margin-left:7px}.checlit-list-search-form /deep/.form-control-item{height:38px}"]}]}],"members":{"queryForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":126,"character":3},"arguments":["queryForm"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":129,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"queryCollapse":[{"__symbolic":"method"}],"listenerScroll":[{"__symbolic":"method"}],"openDetail":[{"__symbolic":"method"}],"hiddenDetail":[{"__symbolic":"method"}],"changePage":[{"__symbolic":"method"}],"changeSize":[{"__symbolic":"method"}],"getColumsList":[{"__symbolic":"method"}],"getTotal":[{"__symbolic":"method"}],"getStatistic":[{"__symbolic":"method"}],"getDataList":[{"__symbolic":"method"}],"exportHandle":[{"__symbolic":"method"}],"emptyForm":[{"__symbolic":"method"}],"searchHandle":[{"__symbolic":"method"}],"enterQuery":[{"__symbolic":"method"}],"doSubmit":[{"__symbolic":"method"}]}},"ɵed":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-ratio-superisory","template":"<div class=\"ratio-superisory\">\r\n  <div class=\"data-source\" [ngStyle]=\"{'max-height': layerHeight + 'px'}\">\r\n    <div class=\"check-list-search-content\" *ngIf=\"formTemplate.properties && formTemplate.properties.length\">\r\n      <div class=\"checlit-list-search-form\">\r\n        <nf-schema-form\r\n          #queryForm\r\n          [framework]=\"'ng-zorro'\"\r\n          [config]=\"formTemplate\"\r\n          [footer]=\"null\"\r\n          [environment]=\"environment\"\r\n          [collapsed]=\"isQueryCollapsed\"\r\n          (keyup.enter)=\"enterQuery($event)\"\r\n          (ngSubmit)=\"doSubmit($event)\"\r\n          >\r\n        </nf-schema-form>\r\n      </div>\r\n      <div class=\"checlit-list-search-btn\">\r\n        <button nz-button nzType=\"primary\" (click)=\"searchHandle($event)\" [nzLoading]=\"isQueryLoading\">搜索</button>\r\n        <button nz-button nzType=\"default\" (click)=\"emptyForm()\">清空</button>\r\n        <div style=\"margin-top: 6px;\">\r\n          <button type=\"button\" (click)=\"queryCollapse()\" nz-button *ngIf=\"formTemplate && formTemplate.properties.length > 6 && formCollapsed !== 0\"><i [style.transform]=\"!isQueryCollapsed ? 'rotate(270deg)' : 'rotate(90deg)'\" nz-icon nzType=\"double-right\" nzTheme=\"outline\"></i></button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"check-table\">\r\n      <div class=\"table-left\">\r\n        <nz-table\r\n          #nzTable\r\n          [nzData]=\"tableData\"\r\n          [nzFrontPagination]=\"false\"\r\n          [nzShowPagination]=\"false\"\r\n          [nzLoading]=\"pageLoading\"\r\n          [nzScroll]=\"{ x: tableWidth + 'px', y: countHeight + 'px'}\"\r\n          >\r\n            <thead>\r\n              <tr>\r\n                <th nzWidth=\"50px\" nzLeft=\"0px\"></th>\r\n                <ng-container *ngFor=\"let data of columsList\">\r\n                  <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n                </ng-container>\r\n              </tr>\r\n            </thead>\r\n            <tbody>\r\n              <tr *ngFor=\"let data of nzTable.data\" [ngStyle]=\"{background: color[data.columnValues['prompt_level']]}\">\r\n                <td nzLeft=\"0px\" [ngClass]=\" data.columnValues['prompt_level'] ? data.columnValues['prompt_level'] === 'remind' ? 'remind-bac' : 'warn-bac'  :'' \" [ngStyle]=\"{background: color[data.columnValues['prompt_level']]}\">\r\n                  <label nz-checkbox [(ngModel)]=\"data['checked']\"  (ngModelChange)=\"checkedOprate(data)\"></label>\r\n                </td>\r\n                <td nzEllipsis *ngFor=\"let item of columsList\">\r\n                  {{data.columnValues[item.code]}}\r\n                </td>\r\n              </tr>\r\n            </tbody>\r\n        </nz-table>\r\n        <nz-table\r\n          *ngIf=\"tableFooter.length\"\r\n          #basicTable\r\n          [nzData]=\"tableFooter\"\r\n          class=\"source1-footer\"\r\n          [nzScroll]=\"{ x: tableWidth + 'px', y: countHeight + 'px'}\"\r\n          [nzFrontPagination]=\"false\"\r\n          [nzShowPagination]=\"false\"\r\n          >\r\n          <thead>\r\n            <tr>\r\n              <th nzWidth=\"50px\" nzLeft=\"0px\"></th>\r\n              <ng-container *ngFor=\"let data of columsList\">\r\n                <th  nzWidth=\"200px\" nzEllipsis [title]=\"data.name\">{{data.name}}</th>\r\n              </ng-container>\r\n            </tr>\r\n          </thead>\r\n          <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data\" style=\"height: 40px;\">\r\n              <td nzLeft=\"0px\"></td>\r\n              <td *ngFor=\"let item of columsList\" nzEllipsis>\r\n                <span *ngIf=\"data[item.code] || data[item.code] === 0\" style=\"font-weight: 600;\" [title]=\"'合计：' + data[item.code]\">合计：{{data[item.code]}}</span>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </nz-table>\r\n        <div class=\"table-pagination\">\r\n          <nz-pagination [nzPageIndex]=\"page.page\"\r\n                         [nzTotal]=\"page.total\"\r\n                         nzShowSizeChanger\r\n                         [nzPageSize]=\"page.rows\"\r\n                         [nzShowTotal]=\"totalTemplate\"\r\n                         (nzPageIndexChange)=\"changePage($event)\"\r\n                         (nzPageSizeChange)=\"changeSize($event)\"></nz-pagination>\r\n          <ng-template #totalTemplate let-total>共 {{ page.total }} 条</ng-template>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- 新建稽核 - 添加提醒 -->\r\n<nz-modal\r\n[(nzVisible)]=\"warnedVisible\"\r\n[nzWrapClassName]=\"'vertical-center-modal'\"\r\n(nzOnCancel)=\"warnedCancel(true)\"\r\n[nzMaskClosable]=\"false\"\r\nnzWidth=\"1200px\"\r\nnzTitle=\"发送提醒\">\r\n  <app-warned #warnedComponent [isSendWarned]=\"true\"></app-warned>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" (click)=\"addOprate()\">保存模板</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"viewOprate()\">预览</button>\r\n    <!-- <button nz-button nzType=\"primary\" (click)=\"warnedSubmit()\">发送</button> -->\r\n    <button nz-button nzType=\"default\" (click)=\"warnedCancel(true)\">取消</button>\r\n  </div>\r\n</nz-modal>\r\n\r\n<!-- 面板分组 -->\r\n<nz-modal [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzKeyboard]=\"false\"\r\n          [(nzVisible)]=\"addTemplateVisible\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzClosable]=\"false\"\r\n          [nzWidth]=\"'30%'\"\r\n          [nzTitle]=\"null\"\r\n          [nzFooter]=\"null\"\r\n          >\r\n          <div class=\"add-panel\">\r\n            <h2>保存模板</h2>\r\n            <form nz-form [formGroup]=\"templateForm\">\r\n              <nz-form-item>\r\n                <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>模板名称</nz-form-label>\r\n                <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"必填项!\">\r\n                    <input type=\"text\" nz-input formControlName=\"name\" />\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </form>\r\n            <div style=\"text-align: right;\">\r\n              <button nz-button nzType=\"primary\" style=\"margin-right: 10px;\" [nzLoading]=\"templateLoading\" (click)=\"addSubmit()\">确定</button>\r\n              <button nz-button nzType=\"default\" (click)=\"cancleSubmit()\">取消</button>\r\n            </div>\r\n          </div>\r\n</nz-modal>\r\n\r\n<!-- 预览 -->\r\n<nz-modal\r\n[(nzVisible)]=\"viewVisible\"\r\n[nzWrapClassName]=\"'vertical-center-modal'\"\r\n(nzOnCancel)=\"viewCancel()\"\r\n[nzMaskClosable]=\"false\"\r\nnzWidth=\"1200px\"\r\nnzTitle=\"提醒预览\">\r\n  <div class=\"view-warned-detail\">\r\n    <form nz-form>\r\n      <div nz-row [nzGutter]=\"24\" style=\"padding: 0 15px;\">\r\n        <div nz-col [nzSpan]=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">收件人</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <span>{{viewData.recipient}}</span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">抄送人</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <span>{{viewData.ccRecipient}}</span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">主题</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <span>{{viewData.subject}}</span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">内容</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <span [ngClass]=\"viewHead && viewHead.length ? 'view-content' : ''\">{{viewData.body}}</span>\r\n              <div style=\"margin-top: 20px;\" *ngIf=\"viewHead && viewHead.length\">\r\n                <nz-table\r\n                #nzTable\r\n                [nzData]=\"selfDefValue\"\r\n                [nzFrontPagination]=\"false\"\r\n                [nzShowPagination]=\"false\"\r\n                [nzScroll]=\"{x: viewTableWidth + 'px',y: '400px'}\"\r\n              >\r\n                <thead>\r\n                  <tr>\r\n                    <th nzWidth=\"200px\" *ngFor=\"let item of viewHead\">{{item.name}}</th>\r\n                  </tr>\r\n                </thead>\r\n                <tbody>\r\n                  <tr *ngFor=\"let data of selfDefValue\" style=\"cursor: pointer;\">\r\n                    <td *ngFor=\"let item of viewHead\">\r\n                      <span>{{data[item.code]}}</span>\r\n                    </td>\r\n                  </tr>\r\n                </tbody>\r\n              </nz-table>\r\n              </div>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" (click)=\"sendOprate()\" [nzLoading]=\"sendLoading\">发送</button>\r\n    <button nz-button nzType=\"default\" (click)=\"viewCancel()\">关闭</button>\r\n  </div>\r\n</nz-modal>","styles":[".data-source>span{display:inline-block;font-size:12px;margin:10px 12px}.data-source>span i{cursor:pointer;margin-left:5px}.data-source>ul{background:#fff;border:1px solid #f8f8f8;font-size:12px;left:42px;position:absolute;text-align:center;top:30px;width:80px;z-index:2}.data-source>ul li{cursor:pointer}.data-source{position:relative}.check-table,.data-source{overflow:auto}.ratio-superisory /deep/.ant-table-thead>tr>th{color:#6e6d6d;padding:8px 5px;text-align:left}.ratio-superisory /deep/.ant-table-tbody>tr>td{color:#4a4a4a;height:25px;padding:10px 5px;text-align:left}.row-order{color:#767474;display:inline-block;text-align:center}.show-detail{overflow:auto}.table-pagination{margin-top:10px;padding-bottom:10px;text-align:right}.compare-detail>div{padding:11px;position:relative}.compare-detail>span{color:#5c5c5c}.compare-detail p{color:#5c5c5c;cursor:pointer;position:absolute;right:11px;top:11px}.compare-detail{background:#fff;bottom:0;position:absolute;width:100%;z-index:1}.red{color:#e23046}.ratio-superisory /deep/.ant-table-body{overflow:auto!important}.ratio-superisory .source1-footer /deep/.ant-table-body,.ratio-superisory .source2-footer /deep/.ant-table-body{overflow:hidden!important}.ratio-superisory /deep/.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ratio-superisory /deep/.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:hidden}.ratio-superisory /deep/.ant-table-fixed-column .ant-table-tbody>tr:nth-child(2n) td,.ratio-superisory /deep/.ant-table-fixed-column .ant-table-tbody>tr:nth-child(odd) td,.ratio-superisory /deep/ant-table-fixed-column .ant-table-tbody>tr:nth-child(odd) td{background:none!important}.source1-footer /deep/.ant-table-thead,.source2-footer /deep/.ant-table-thead{display:none}.total-count{font-weight:600;position:absolute;right:20px;top:7px}.check-list-search-content{display:flex;padding:5px}.checlit-list-search-form{flex:1}.checlit-list-search-btn{padding-top:5px;width:240px}.checlit-list-search-btn button{margin-left:7px}.checlit-list-search-form /deep/.form-control-item{height:38px}.ratio-superisory /deep/.ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell,.ratio-superisory /deep/.ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left{background:#fafafa!important}.ratio-superisory /deep/.ant-table-tbody>tr.ant-table-row>td.remind-bac{background:#fffada!important}.ratio-superisory /deep/.ant-table-tbody>tr.ant-table-row>td.warn-bac{background:#ff8189!important}.view-warned-detail /deep/.ant-table-expanded-row-fixed{width:100%!important}.view-warned-detail{max-height:500px;overflow-x:hidden;overflow-y:auto}.view-content{position:relative;top:7px}"]}]}],"members":{"queryForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":122,"character":3},"arguments":["queryForm"]}]}],"warnedComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":123,"character":3},"arguments":["warnedComponent"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":125,"character":21},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":127,"character":25},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":128,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"listenerScroll":[{"__symbolic":"method"}],"getColumsList":[{"__symbolic":"method"}],"getDataList":[{"__symbolic":"method"}],"getTotal":[{"__symbolic":"method"}],"getStatistic":[{"__symbolic":"method"}],"queryCollapse":[{"__symbolic":"method"}],"changePage":[{"__symbolic":"method"}],"changeSize":[{"__symbolic":"method"}],"warnedSubmit":[{"__symbolic":"method"}],"warnedCancel":[{"__symbolic":"method"}],"initWarnedField":[{"__symbolic":"method"}],"searchHandle":[{"__symbolic":"method"}],"emptyForm":[{"__symbolic":"method"}],"doSubmit":[{"__symbolic":"method"}],"enterQuery":[{"__symbolic":"method"}],"exportHandle":[{"__symbolic":"method"}],"addOprate":[{"__symbolic":"method"}],"addSubmit":[{"__symbolic":"method"}],"cancleSubmit":[{"__symbolic":"method"}],"viewOprate":[{"__symbolic":"method"}],"viewCancel":[{"__symbolic":"method"}],"getTemplate":[{"__symbolic":"method"}],"sendOprate":[{"__symbolic":"method"}],"checkedOprate":[{"__symbolic":"method"}],"getCheckedId":[{"__symbolic":"method"}]}},"ɵee":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-warned","template":"<div class=\"add-warned\">\r\n  <form nz-form [formGroup]=\"validateForm\">\r\n    <div nz-row [nzGutter]=\"24\">\r\n      <div nz-col [nzSpan]=\"12\" *ngIf=\"!sendFlag\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>模板名称</nz-form-label>\r\n          <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请输入模板名称\">\r\n            <input formControlName=\"name\" nz-input [readonly]=\"!canOprate\" [ngClass]=\"canOprate ? '' : 'disabled-area' \">\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"12\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>提醒类型</nz-form-label>\r\n          <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择提醒类型\">\r\n            <nz-select formControlName=\"noticeType\" nzAllowClear (ngModelChange)=\"changeType($event)\" [nzDisabled]=\"!canOprate\">\r\n                <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.name\" *ngFor=\"let item of noticeTypeList\" [nzDisabled]=\"!canOprate\"></nz-option>\r\n            </nz-select>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"12\" *ngIf=\"!sendFlag\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>提醒时点</nz-form-label>\r\n          <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择提醒时点\">\r\n            <nz-select formControlName=\"noticeMoment\" nzAllowClear (ngModelChange)=\"changeMoment($event)\" [nzDisabled]=\"!canOprate\">\r\n              <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.name\" *ngFor=\"let item of noticeMomentList\" [nzDisabled]=\"!canOprate\"></nz-option>\r\n          </nz-select>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"12\" *ngIf=\"!sendFlag && validateForm.get('noticeMoment').value === 'cron'\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>定时提醒时间</nz-form-label>\r\n          <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择定时提醒时点\">\r\n            <input *ngIf=\"!canOprate\" class=\"disabled-area\" nz-input formControlName=\"schedulerDescription\" readonly />\r\n            <div *ngIf=\"canOprate\" class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n              <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n                <input nz-input formControlName=\"schedulerDescription\" />\r\n              </nz-input-group>\r\n              <ng-template #suffixIconSearch>\r\n                <i nz-icon nzType=\"calendar\"></i>\r\n              </ng-template>\r\n              <ng-template #schedulerConditionTemplate>\r\n                <app-supervisory-scheduler [nfData]=\"schedulerConditionData\" (nfDataChange)=\"getSchedulerData($event)\"></app-supervisory-scheduler>\r\n              </ng-template>\r\n            </div>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"12\" *ngIf=\"sendFlag\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">邮件模板</nz-form-label>\r\n          <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n            <nz-select formControlName=\"emailModel\" nzAllowClear [nzDisabled]=\"!canOprate\" (ngModelChange)=\"changeTemplate($event)\">\r\n              <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of emailTemplateList\" [nzDisabled]=\"!canOprate\"></nz-option>\r\n          </nz-select>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">收件人</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" style=\"position: relative;\">\r\n            <div class=\"show-user\" (click)=\"focusHandle()\" [ngClass]=\"canOprate ? '' : 'disabled-area' \">\r\n              <div class=\"user-item\" *ngFor=\"let item of recipient.users;let i=index;\">{{item.name}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('recipient', 'users', i)\">X</i></div>\r\n              <div class=\"user-item\" *ngFor=\"let item of recipient.roles;let i=index;\">{{item.name}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('recipient', 'roles', i)\">X</i></div>\r\n              <div class=\"user-item\" *ngFor=\"let item of recipient.variables;let i=index;\">{{ '{' + item.name + '}'}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('recipient', 'variables', i)\">X</i></div>\r\n              <div class=\"user-item\" *ngFor=\"let item of recipient.addresses;let i=index;\">{{item.name}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('recipient', 'addresses', i)\">X</i></div>\r\n              <div class=\"user-item\" style=\"position: relative;padding: 0;border: none;\" *ngIf=\"canOprate\">\r\n                <span>{{inputValue}}</span>\r\n                <input id=\"reciverPerson\" class=\"user-input\" nz-input [(ngModel)]=\"inputValue\" (blur)=\"inputBlurHandle()\" [ngModelOptions]=\"{standalone: true}\">\r\n              </div>\r\n            </div>\r\n            <div *ngIf=\"canOprate\" class=\"add-oprate\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" nz-popover [nzPopoverContent]=\"contentTemplate\" (click)=\"addStaff('recipient')\">\r\n              <i>+</i>\r\n              <span>添加</span>\r\n            </div>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">抄送人</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" style=\"position: relative;\">\r\n            <div class=\"show-user\" (click)=\"carbonFocusHandle()\" [ngClass]=\"canOprate ? '' : 'disabled-area' \">\r\n              <div class=\"user-item\" *ngFor=\"let item of ccRecipient.users;let i=index;\">{{item.name}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('ccRecipient', 'users', i)\">X</i></div>\r\n              <div class=\"user-item\" *ngFor=\"let item of ccRecipient.roles;let i=index;\">{{item.name}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('ccRecipient', 'roles', i)\">X</i></div>\r\n              <div class=\"user-item\" *ngFor=\"let item of ccRecipient.variables;let i=index;\">{{ '{' + item.name + '}'}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('ccRecipient', 'variables', i)\">X</i></div>\r\n              <div class=\"user-item\" *ngFor=\"let item of ccRecipient.addresses;let i=index;\">{{item.name}}<i *ngIf=\"canOprate\" (click)=\"deleteStaff('ccRecipient', 'addresses', i)\">X</i></div>\r\n              <div class=\"user-item\" style=\"position: relative;padding: 0;border: none;\" *ngIf=\"canOprate\">\r\n                <span>{{carbonValue}}</span>\r\n                <input id=\"carbonPerson\" class=\"user-input\" nz-input [(ngModel)]=\"carbonValue\" (blur)=\"carbonBlurHandle()\" [ngModelOptions]=\"{standalone: true}\">\r\n              </div>\r\n            </div>\r\n            <div *ngIf=\"canOprate\" class=\"add-oprate\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" nz-popover [nzPopoverContent]=\"contentTemplate\" (click)=\"addStaff('ccRecipient')\">\r\n              <i>+</i>\r\n              <span>添加</span>\r\n            </div>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">主题</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n            <input nz-input formControlName=\"subject\" (keydown)=\"getInputIndex($event.target)\" (click)=\"getInputIndex($event.target)\" [readonly]=\"!canOprate\" [ngClass]=\"canOprate ? '' : 'disabled-area' \">\r\n            <div style=\"margin-top: 10px;\" *ngIf=\"canOprate\">\r\n              <nz-tag style=\"margin-bottom: 10px;cursor: pointer;\" *ngFor=\"let item of fileList\"(click)=\"columnTagClick(item, 'subject')\">{{item.name}}</nz-tag>\r\n            </div>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">邮件内容</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n            <textarea rows=\"4\" nz-input formControlName=\"body\" (keydown)=\"getInputIndex($event.target)\" (click)=\"getInputIndex($event.target)\" placeholder=\"请输入邮件内容\" [readonly]=\"!canOprate\" [ngClass]=\"canOprate ? '' : 'disabled-area' \"></textarea>\r\n            <div style=\"margin-top: 10px;\" *ngIf=\"canOprate\">\r\n              <nz-tag style=\"margin-bottom: 10px;cursor: pointer;\" *ngFor=\"let item of fileList\"(click)=\"columnTagClick(item, 'body')\">{{item.name}}</nz-tag>\r\n            </div>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-col [nzSpan]=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">邮件内容数据列表</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n            <div class=\"show-list\" [ngClass]=\"canOprate ? '' : 'disabled-area' \">\r\n              <p *ngIf=\"sendFlag\" (click)=\"editListOprate()\">编辑列表数据</p>\r\n              <ul>\r\n                <li *ngFor=\"let item of checkedEmailList; let i = index\">{{item.name}} <i *ngIf=\"canOprate\" (click)=\"deleteEmail(i)\">X</i></li>\r\n              </ul>\r\n            </div>\r\n            <ul class=\"all-list\" *ngIf=\"canOprate\">\r\n              <li *ngFor=\"let item of emailList; let i = index\" (click)=\"changeChcked(i)\">{{item.name}}</li>\r\n            </ul>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n    </div>\r\n  </form>\r\n</div>\r\n\r\n<ng-template #contentTemplate>\r\n  <div class=\"add-warned-user\">\r\n    <nz-tabset>\r\n      <nz-tab nzTitle=\"用户\">\r\n        <div class=\"user-select\">\r\n          <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n            <input type=\"text\" [(ngModel)]=\"userValue\" nz-input placeholder=\"请输入搜索内容\" [ngModelOptions]=\"{standalone: true}\" (keyup.enter)=\"filterUser()\" />\r\n          </nz-input-group>\r\n          <ng-template #suffixIconSearch>\r\n            <i nz-icon nzType=\"search\" style=\"cursor: pointer;color: rgba(0, 0, 0, 0.25);\" (click)=\"filterUser()\"></i>\r\n          </ng-template>\r\n          <ul>\r\n            <li *ngFor=\"let option of userOption\">\r\n              <label nz-checkbox [(ngModel)]=\"option.checked\" (ngModelChange)=\"userChangeChecked($event, option)\"></label>\r\n              <span [title]=\"option.name\">{{option.name}}</span>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      </nz-tab>\r\n      <nz-tab nzTitle=\"角色\">\r\n        <div class=\"user-select\">\r\n          <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n            <input type=\"text\" [(ngModel)]=\"roleValue\" nz-input placeholder=\"请输入搜索内容\" [ngModelOptions]=\"{standalone: true}\" (keyup.enter)=\"filterRole()\" />\r\n          </nz-input-group>\r\n          <ng-template #suffixIconSearch>\r\n            <i nz-icon nzType=\"search\" style=\"cursor: pointer;color: rgba(0, 0, 0, 0.25);\" (click)=\"filterRole()\"></i>\r\n          </ng-template>\r\n          <ul>\r\n            <li *ngFor=\"let option of roleOption\">\r\n              <label nz-checkbox [(ngModel)]=\"option.checked\" (ngModelChange)=\"roleChangeChecked($event, option)\"></label>\r\n              <span [title]=\"option.name\">{{option.name}}</span>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      </nz-tab>\r\n      <nz-tab nzTitle=\"变量\">\r\n        <div class=\"user-select\">\r\n          <nz-input-group [nzSuffix]=\"suffixIconSearch\">\r\n            <input type=\"text\" [(ngModel)]=\"variableValue\" nz-input placeholder=\"请输入搜索内容\" [ngModelOptions]=\"{standalone: true}\" (keyup.enter)=\"filterVariable()\" />\r\n          </nz-input-group>\r\n          <ng-template #suffixIconSearch>\r\n            <i nz-icon nzType=\"search\" style=\"cursor: pointer;color: rgba(0, 0, 0, 0.25);\" (click)=\"filterVariable()\"></i>\r\n          </ng-template>\r\n          <ul>\r\n            <li *ngFor=\"let option of variableOption\">\r\n              <label nz-checkbox [(ngModel)]=\"option.checked\" (ngModelChange)=\"variableChangeChecked($event, option)\"></label>\r\n              <span [title]=\"option.name\">{{option.name}}</span>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      </nz-tab>\r\n    </nz-tabset>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- 编辑列表数据 -->\r\n<nz-modal\r\n[(nzVisible)]=\"editListVisible\"\r\n[nzWrapClassName]=\"'vertical-center-modal'\"\r\n(nzOnCancel)=\"editListCancel()\"\r\n[nzMaskClosable]=\"false\"\r\nnzWidth=\"800px\"\r\nnzTitle=\"编辑列表数据\">\r\n\r\n  <div class=\"edit-data\">\r\n    <p style=\"text-align: right;color: #02A0FF;cursor: pointer;margin-bottom: 10px;\" (click)=\"addDataOprate()\">添加数据列</p>\r\n    <nz-table\r\n      #nzTable\r\n      [nzData]=\"viewTableData\"\r\n      [nzShowPagination]=\"false\"\r\n      [nzScroll]=\"{x: viewTableWidth + 'px',y: '400px'}\"\r\n      *ngIf=\"viewHead && viewHead.length\"\r\n    >\r\n    <thead>\r\n      <tr>\r\n        <th nzWidth=\"200px\" *ngFor=\"let item of viewHead\">{{item.name}}</th>\r\n      </tr>\r\n    </thead>\r\n    <tbody>\r\n      <tr *ngFor=\"let data of viewTableData\" style=\"cursor: pointer;\">\r\n        <td *ngFor=\"let item of viewHead\">\r\n          <span *ngIf=\"item.type !== 'selfDef'\">{{data[item.code]}}</span>\r\n          <input nz-input *ngIf=\"item.type == 'selfDef'\" [(ngModel)]=\"data[item.code]\"/>\r\n        </td>\r\n      </tr>\r\n    </tbody>\r\n  </nz-table>\r\n  </div>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" (click)=\"editListSubmit()\">确定</button>\r\n    <button nz-button nzType=\"default\" (click)=\"editListCancel()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n\r\n<!-- 添加数据列 -->\r\n<nz-modal [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzKeyboard]=\"false\"\r\n          [(nzVisible)]=\"addDataVisible\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzClosable]=\"false\"\r\n          [nzWidth]=\"'30%'\"\r\n          [nzTitle]=\"null\"\r\n          [nzFooter]=\"null\"\r\n          >\r\n          <div class=\"add-panel\">\r\n            <h2>添加数据列</h2>\r\n            <form nz-form [formGroup]=\"addDataForm\">\r\n              <nz-form-item>\r\n                <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>数据列名称</nz-form-label>\r\n                <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"必填项!\">\r\n                    <input type=\"text\" nz-input formControlName=\"name\" />\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </form>\r\n            <div style=\"text-align: right;\">\r\n              <button nz-button nzType=\"primary\" style=\"margin-right: 10px;\" (click)=\"addDataSubmit()\">确定</button>\r\n              <button nz-button nzType=\"default\" (click)=\"addDataCancle()\">取消</button>\r\n            </div>\r\n          </div>\r\n</nz-modal>\r\n","styles":[".add-warned{max-height:500px;overflow-x:hidden;overflow-y:auto}.add-oprate{color:#2196f3;cursor:pointer;font-size:12px;position:absolute;right:6px;top:6px}.add-oprate>i{background:#2196f3;border-radius:14px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;height:14px;line-height:11px;margin-right:4px;text-align:center;width:14px}.show-user{min-height:40px;padding:5px 50px 5px 10px}.show-user,.user-item{border:1px solid #ececec;border-radius:4px}.user-item{display:inline-block;margin-bottom:10px;margin-right:8px;padding:2px 5px}.user-input{border:none;box-shadow:none;outline:none;padding:0;width:2px}.add-warned-user{width:270px}.user-select ul{max-height:200px;overflow:auto}.user-select ul li{height:32px;line-height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-select ul li label{margin-right:8px}.show-list{border:1px solid #ececec;border-radius:4px;min-height:80px;padding:5px}.show-list>p{color:#02a0ff;cursor:pointer;text-align:right}.all-list{margin-top:10px}.all-list li,.show-list ul li{border:1px solid #ececec;border-radius:4px;display:inline-block;margin-bottom:10px;margin-right:8px;padding:2px 5px}.all-list li{cursor:pointer}.show-list ul li i{border-radius:14px;height:14px;line-height:14px;width:14px}.show-list ul li i,.user-item>i{background:#bdbdbd;color:#fff;cursor:pointer;display:inline-block;font-size:10px;text-align:center}.user-item>i{border-radius:12px;height:12px;line-height:12px;margin-left:5px;width:12px}.edit-data /deep/.ant-table-expanded-row-fixed{width:100%!important}.disabled-area{background:#f5f5f5;color:rgba(0,0,0,.25);cursor:not-allowed}"]}]}],"members":{"getSend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3},"arguments":["isSendWarned"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":130,"character":16},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":132,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":133,"character":25}]}],"ngOnInit":[{"__symbolic":"method"}],"getEmailTemplate":[{"__symbolic":"method"}],"getList":[{"__symbolic":"method"}],"getOutIndicatorList":[{"__symbolic":"method"}],"focusHandle":[{"__symbolic":"method"}],"carbonFocusHandle":[{"__symbolic":"method"}],"inputBlurHandle":[{"__symbolic":"method"}],"carbonBlurHandle":[{"__symbolic":"method"}],"getInputIndex":[{"__symbolic":"method"}],"columnTagClick":[{"__symbolic":"method"}],"insertLabel":[{"__symbolic":"method"}],"assembleStr":[{"__symbolic":"method"}],"changeChcked":[{"__symbolic":"method"}],"deleteEmail":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"filterUser":[{"__symbolic":"method"}],"filterRole":[{"__symbolic":"method"}],"filterVariable":[{"__symbolic":"method"}],"addStaff":[{"__symbolic":"method"}],"userChangeChecked":[{"__symbolic":"method"}],"roleChangeChecked":[{"__symbolic":"method"}],"variableChangeChecked":[{"__symbolic":"method"}],"deleteStaff":[{"__symbolic":"method"}],"changeType":[{"__symbolic":"method"}],"changeMoment":[{"__symbolic":"method"}],"getSubmitForm":[{"__symbolic":"method"}],"initWarned":[{"__symbolic":"method"}],"editListOprate":[{"__symbolic":"method"}],"editListSubmit":[{"__symbolic":"method"}],"editListCancel":[{"__symbolic":"method"}],"addDataOprate":[{"__symbolic":"method"}],"addDataSubmit":[{"__symbolic":"method"}],"addDataCancle":[{"__symbolic":"method"}],"changeTemplate":[{"__symbolic":"method"}]}},"ɵef":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-supervisory-scheduler","providers":[{"__symbolic":"reference","name":"ɵc"}],"template":"<div class=\"condition-container\">\r\n    <!-- begin -->\r\n    <div class=\"scheduler-component-wrapper\">\r\n      <div class=\"scheduler-component-header\">\r\n        <nz-radio-group [(ngModel)]=\"schedulerRadioValue\" (ngModelChange)=\"schedulerRadioChange($event)\">\r\n          <label nz-radio-button nzValue=\"daily\">日</label>\r\n          <label nz-radio-button nzValue=\"weekly\">周</label>\r\n          <label nz-radio-button nzValue=\"monthly\">月</label>\r\n          <label nz-radio-button nzValue=\"minutes\">时间间隔</label>\r\n        </nz-radio-group>\r\n      </div>\r\n      <div class=\"scheduler-component-container\">\r\n        <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'daily'\">\r\n          <div class=\"recurrence-sentence-wrapper\">\r\n            <div class=\"recurrence-sentence-setter\">\r\n              <span class=\"recurrence-sentence\">每 </span>\r\n              <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerDailyOccurrences\" (ngModelChange)=\"schedulerDailyOccurrencesChange($event)\" />\r\n              <span class=\"recurrence-sentence\">个</span>\r\n              <nz-select [(ngModel)]=\"schedulerDailyDate\" (ngModelChange)=\"schedulerDailyDateChange($event)\">\r\n                <nz-option nzValue=\"交易日\" nzLabel=\"交易日\"></nz-option>\r\n                <nz-option nzValue=\"自然日\" nzLabel=\"自然日\"></nz-option>\r\n              </nz-select>\r\n              <span class=\"recurrence-sentence\">的</span>\r\n              <div class=\"hour-select-container\">\r\n                <div class=\"hour-select\">\r\n                  <nz-time-picker [(ngModel)]=\"schedulerDailyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"schedulerDailyTimeChange($event)\"></nz-time-picker>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-preview\">\r\n            {{schedulerDailyDisplayText}}\r\n          </div>\r\n        </div>\r\n        <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'weekly'\">\r\n          <div class=\"scheduler-tab-wrapper Weekly\">\r\n            <div class=\"scheduler-grid\">\r\n              <div *ngFor=\"let item of schedulerWeeklyList\" class=\"scheduler-grid-item\" (click)=\"schedulerWeeklyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n            </div>\r\n            <div class=\"recurrence-sentence-wrapper\">\r\n              <div class=\"recurrence-sentence-setter\">\r\n                <span class=\"recurrence-sentence\">每 </span>\r\n                <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerWeeklyOccurrences\" (ngModelChange)=\"schedulerWeeklyOccurrencesChange($event)\" />\r\n                <span class=\"recurrence-sentence\">周 属于</span>\r\n                <nz-select [(ngModel)]=\"schedulerWeeklyDate\" (ngModelChange)=\"schedulerWeeklyDateChange($event)\">\r\n                  <nz-option nzValue=\"交易日\" nzLabel=\"交易日\"></nz-option>\r\n                  <nz-option nzValue=\"自然日\" nzLabel=\"自然日\"></nz-option>\r\n                </nz-select>\r\n                <span>的</span>\r\n                <div class=\"hour-select-container\">\r\n                  <div class=\"hour-select\">\r\n                    <nz-time-picker [(ngModel)]=\"schedulerWeeklyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"schedulerWeeklyTimeChange($event)\"></nz-time-picker>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"recurrence-sentence-preview\">\r\n              {{schedulerWeeklyDisplayText}}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'monthly'\">\r\n          <div class=\"scheduler-tab-wrapper Monthly\">\r\n            <div class=\"scheduler-grid\">\r\n              <div *ngFor=\"let item of schedulerMonthlyList\" class=\"scheduler-grid-item\" (click)=\"schedulerMonthlyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n            </div>\r\n            <div class=\"recurrence-sentence-wrapper\">\r\n              <div class=\"recurrence-sentence-setter\">\r\n                <span class=\"recurrence-sentence\">每 </span>\r\n                <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerMonthlyOccurrences\" (ngModelChange)=\"schedulerMonthlyOccurrencesChange($event)\" />\r\n                <span class=\"recurrence-sentence\">月 属于</span>\r\n                <nz-select [(ngModel)]=\"schedulerMonthlyDate\" (ngModelChange)=\"schedulerMonthlyDateChange($event)\">\r\n                  <nz-option nzValue=\"交易日\" nzLabel=\"交易日\"></nz-option>\r\n                  <nz-option nzValue=\"自然日\" nzLabel=\"自然日\"></nz-option>\r\n                </nz-select>\r\n                <span>的</span>\r\n                <div class=\"hour-select-container\">\r\n                  <div class=\"hour-select\">\r\n                    <nz-time-picker [(ngModel)]=\"schedulerMonthlyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"schedulerMonthlyTimeChange($event)\"></nz-time-picker>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"recurrence-sentence-preview\">\r\n              {{schedulerMonthlyDisplayText}}\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"timer-component-container-inner\" *ngIf=\"schedulerRadioValue == 'minutes'\">\r\n            <div class=\"recurrence-sentence-wrapper\">\r\n              <div class=\"recurrence-sentence-setter\">\r\n                <span class=\"recurrence-sentence\">每</span>\r\n                <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"minutesOccurrences\" (ngModelChange)=\"minutesChange()\" />\r\n                <span class=\"recurrence-sentence\">个</span>\r\n                <div class=\"workday-select-container\">\r\n                  <nz-select style=\"width:80px\" [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"minutesChange()\" nzPlaceHolder=\"请选择\">\r\n                    <nz-option *ngFor=\"let dateType of dateTypes;\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n                  </nz-select>\r\n                </div>\r\n                <span class=\"recurrence-sentence\">的</span>\r\n                <div class=\"hour-select-container\">\r\n                  <div class=\"hour-select\" style=\"width: 70px\">\r\n                    <nz-time-picker [(ngModel)]=\"hourStart\" nzFormat=\"HH\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"minutesChange()\"></nz-time-picker>\r\n                  </div>\r\n                </div>\r\n                <span class=\"recurrence-sentence\"> 时至</span>\r\n                <div class=\"hour-select-container\">\r\n                  <div class=\"hour-select\" style=\"width: 70px\">\r\n                    <nz-time-picker [(ngModel)]=\"hourEnd\" nzFormat=\"HH\" [nzAllowEmpty]=\"false\" (ngModelChange)=\"minutesChange()\"></nz-time-picker>\r\n                  </div>\r\n                </div>\r\n                <span class=\"recurrence-sentence\"> 时 每隔</span>\r\n                <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input [(ngModel)]=\"minutesInterval\" (ngModelChange)=\"minutesChange()\" />\r\n                <span class=\"recurrence-sentence\">分钟</span>\r\n              </div>\r\n            </div>\r\n            <div class=\"recurrence-sentence-preview\">\r\n              {{minutesDescription}}\r\n            </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <!-- end -->\r\n    <div style=\"margin:10px 0\"><nz-divider></nz-divider></div>\r\n    <div class=\"scheduler-button\"><button (click)=\"schedulerOnSubmit()\" nz-button nzType=\"primary\">确定</button></div>\r\n  </div>\r\n  ","styles":["::ng-deep .scheduler-component-wrapper .ant-radio-button-wrapper{text-align:center;width:104px}.scheduler-component-container{max-height:260px;overflow-y:auto}.scheduler-component-container .recurrence-sentence-setter{margin-bottom:8px;margin-left:8px;margin-top:16px}.scheduler-component-container .recurrence-sentence-setter .recurrence-numeric-input{border-radius:2px;display:inline;height:31px;margin-left:8px;margin-right:8px;outline:none;padding:6px;text-align:center;width:60px}.scheduler-component-container .recurrence-sentence-setter .recurrence-sentence{display:inline}.hour-select-container{display:inline-block}.hour-select-container .hour-select{margin-left:8px;width:130px}.workday-select-container{display:inline-block;margin:0 5px}::ng-deep .scheduler-component-container .ant-time-picker{width:120px}.scheduler-component-container .recurrence-sentence-preview{color:grey;font-size:12px;line-height:20px;margin-left:8px;margin-right:8px;margin-top:16px}.scheduler-component-container .scheduler-tab-wrapper.Weekly{max-height:150px;min-height:130px}.scheduler-component-container .scheduler-tab-wrapper{justify-content:flex-start;transition:max-height .15s,min-height .15s}.scheduler-grid{display:flex;flex-wrap:wrap;justify-content:felx-start;margin-top:8px;width:310px}.scheduler-grid .scheduler-grid-item{cursor:pointer;display:flex;font-size:13px;height:35px;justify-content:center;line-height:35px;margin:2px 4px;vertical-align:middle;width:35px}.scheduler-grid .scheduler-grid-item:hover{background-color:#009aff;border-radius:38px;color:#fff}.scheduler-grid .selected-item{background-color:rgba(0,154,255,.15);border-radius:100px;color:#009aff;font-weight:bolder}.recurrence-sentence-preview{width:310px}.scheduler-button{text-align:center}"]}]}],"members":{"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":104,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":107,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"schedulerInit":[{"__symbolic":"method"}],"schedulerRadioChange":[{"__symbolic":"method"}],"schedulerDailyTimeChange":[{"__symbolic":"method"}],"schedulerDailyOccurrencesChange":[{"__symbolic":"method"}],"schedulerDailyDateChange":[{"__symbolic":"method"}],"schedulerWeeklyTextChange":[{"__symbolic":"method"}],"schedulerWeeklyOccurrencesChange":[{"__symbolic":"method"}],"schedulerWeeklyTimeChange":[{"__symbolic":"method"}],"schedulerWeeklyDateChange":[{"__symbolic":"method"}],"schedulerWeeklyMerge":[{"__symbolic":"method"}],"schedulerMonthlyTextChange":[{"__symbolic":"method"}],"schedulerMonthlyOccurrencesChange":[{"__symbolic":"method"}],"schedulerMonthlyTimeChange":[{"__symbolic":"method"}],"schedulerMonthlyMerge":[{"__symbolic":"method"}],"schedulerMonthlyDateChange":[{"__symbolic":"method"}],"schedulerOnSubmit":[{"__symbolic":"method"}],"schedulerDateTypeChange":[{"__symbolic":"method"}],"minutesChange":[{"__symbolic":"method"}],"getSelectTitle":[{"__symbolic":"method"}],"formatHoursByGeneral":[{"__symbolic":"method"}]}},"ɵeg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"nf-task-filter","template":"<div class=\"quick-filters-dialog-horizontal-content-component\">\r\n  <div class=\"rule-based-filter-header\">\r\n    <div class=\"filter-dialog-header\">\r\n      <div class=\"filter-dialog-header__container\">\r\n        <div class=\"filter-dialog-header__title\">过滤面板</div>\r\n        <div class=\"filter-dialog-header__subtitle\">\r\n          <ng-container *ngIf=\"boardData.boardData && boardData.boardData.pulses\">\r\n          <ng-container *ngIf=\"boardPulseData.length == boardData.boardData.pulses.length\">共 {{boardPulseData.length}} 条</ng-container>\r\n          <ng-container *ngIf=\"boardPulseData.length < boardData.boardData.pulses.length\">\r\n          显示 {{boardData.boardData.pulses.length}}条 中的 {{boardPulseData.length}} 条\r\n          </ng-container>\r\n          </ng-container>\r\n        </div>\r\n        <div class=\"filter-dialog-header__buttons\">\r\n          <div class=\"clear-all\">\r\n            <button nz-button nzSize=\"small\" (click)=\"clearFilterCondition()\">清除</button>\r\n          </div>\r\n          <div class=\"save-btn-wrapper\">\r\n            <button nz-button nzSize=\"small\" (click)=\"useLastCondition()\">使用上次的过滤条件</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"quick-filter-options-outer\">\r\n      <div class=\"quick-filter-options-container-middle\">\r\n        <div class=\"horizontal-quick-filter-options\">\r\n          <div class=\"column-options\">\r\n            <div class=\"ds-text-component filter-column-title\">\r\n              <span>分组</span>\r\n            </div>\r\n            <div class=\"options-container\">\r\n              <div class=\"horizontal-quick-filter-option active-rule\" *ngFor=\"let group of boardGroupData\">\r\n                <div class=\"horizontal-quick-filter-option__anchor\">\r\n                  <div class=\"advanced-filter-option-text-column-content-component\">{{group.title}}</div>\r\n                </div>\r\n                <div class=\"quick-filter-option-counter\">{{group.pulses.length}}</div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".quick-filters-dialog-horizontal-content-component{background-color:#fff;max-width:800px;min-width:600px}.rule-based-filter-header{display:flex;flex-direction:column}.filter-dialog-header{padding:0}.filter-dialog-header__container{align-items:center;display:flex;margin-left:auto;position:relative;width:100%}.filter-dialog-header__title{font-size:16px;font-weight:500}.filter-dialog-header__subtitle{font-weight:300;margin-left:8px}.filter-dialog-header__buttons{align-items:center;display:flex;margin-left:auto}.save-btn-wrapper{text-align:center}.clear-all{margin-right:10px}.quick-filters-dialog-horizontal-content-component .quick-filter-options-outer{overflow-x:auto;overflow-y:hidden;padding:8px 0 0}.quick-filters-dialog-horizontal-content-component .quick-filter-options-outer .quick-filter-options-container-middle{display:inline-block;min-height:120px}.horizontal-quick-filter-option{align-items:center;background-color:#f5f6f8;border-radius:4px;cursor:pointer;display:flex;height:32px;margin-right:4px;padding:0 12px}.horizontal-quick-filter-option__anchor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.horizontal-quick-filter-option .quick-filter-option-counter{color:#676879;font-size:12px;font-weight:300;padding-left:3px}.horizontal-quick-filter-option:not(:first-child){margin-top:6px}.horizontal-quick-filter-option:hover{background-color:#e6e9ef;color:#323338}.horizontal-quick-filter-option.active-rule{background-color:#e5f4ff}.horizontal-quick-filter-options{display:flex}.horizontal-quick-filter-options .column-options{width:150px}.horizontal-quick-filter-options .column-options:not(:first-child){margin-left:16px}.horizontal-quick-filter-options .column-options .filter-column-title{border:0;color:#676879;font-weight:400;padding:0}.horizontal-quick-filter-options .column-options .options-container{margin-top:8px;max-height:208px;overflow-y:auto}.horizontal-quick-filter-options .column-options .options-container::-webkit-scrollbar{width:4px}.horizontal-quick-filter-options .column-options .options-container::-webkit-scrollbar-thumb{background-color:#676879;border-radius:4px}.horizontal-quick-filter-options .column-options .show-more-options{align-items:center;color:#1f76c2;cursor:pointer;display:flex;margin-right:4px;margin-top:8px;width:calc(100% - 4px)}.horizontal-quick-filter-options .column-options .show-more-options.hidden-btn{border:0;margin:0;min-height:0;padding:0;visibility:hidden}.horizontal-quick-filter-options .column-options .show-more-options .icon{font-size:10px;height:4px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3},"arguments":["nfBoardData"]}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"useLastCondition":[{"__symbolic":"method"}],"clearFilterCondition":[{"__symbolic":"method"}]}},"ɵeh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":36,"character":1},"arguments":[{"selector":"app-task-management","template":"<nz-layout>\r\n<div class=\"task-management\">\r\n  <nz-content>\r\n    <section class=\"query-area\">\r\n      <form nz-form [formGroup]=\"queryForm\" [nzLayout]=\"'inline'\" autocomplete=\"off\">\r\n        <div nz-row style=\"width: 100%;\">\r\n          <div nz-col [nzSpan]=\"21\">\r\n            <div style=\"display: flex; padding: 3px 0;\">\r\n              <nz-form-item style=\"width: 23%;\">\r\n                <nz-form-label style=\"width: 40%;\">组织</nz-form-label>\r\n                <nz-form-control  nzErrorTip=\"请选择组织\">\r\n                  <nz-select formControlName=\"operationOrgCodeList\" nzPlaceHolder=\"请选择组织\" nzMode=\"multiple\" (ngModelChange)=\"changeDepartmentForSearch($event)\" >\r\n                    <nz-option [nzValue]=\"item.code\" [nzLabel]=\"item.name\" *ngFor=\"let item of departmentOption\"></nz-option>\r\n                  </nz-select>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n              <nz-form-item style=\"width: 23%;\">\r\n                <nz-form-label style=\"width: 40%;\">班次</nz-form-label>\r\n                <nz-form-control style=\"width: 40%;\" nzErrorTip=\"请选择班次\">\r\n                  <nz-select formControlName=\"workDefIdList\" nzMode=\"multiple\" anzPlaceHolder=\"请选择班次\" >\r\n                    <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of workDefsOption\"></nz-option>\r\n                  </nz-select>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n\r\n              <nz-form-item style=\"width: 23%;\">\r\n                <nz-form-label style=\"width: 40%;\">岗位</nz-form-label>\r\n                <nz-form-control style=\"width: 60%;\">\r\n                  <nz-select  formControlName=\"operationRoleCodeFuzzy\" nzPlaceHolder=\"请选择岗位\">\r\n                    <nz-option [nzValue]=\"item.roleId\" [nzLabel]=\"item.roleName\" *ngFor=\"let item of jobOptions\"></nz-option>\r\n                  </nz-select>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n              <nz-form-item style=\"width: 23%;\">\r\n                <nz-form-label style=\"width: 40%;\">关联对象</nz-form-label>\r\n                <nz-form-control  nzErrorTip=\"请选择关联对象\">\r\n                  <nz-select nzMode=\"multiple\" formControlName=\"relevanceList\" nzPlaceHolder=\"请选择关联对象\" >\r\n                    <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.label\" *ngFor=\"let item of relationObject\"></nz-option>\r\n                  </nz-select>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n            <div style=\"display: flex; padding: 3px 0;\">\r\n              <nz-form-item style=\"width: 23%;\">\r\n                <nz-form-label style=\"width: 40%;\">任务名称</nz-form-label>\r\n                <nz-form-control style=\"width: 60%;\">\r\n                  <input nz-input formControlName=\"nameFuzzy\"/>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n              <nz-form-item style=\"width: 23%;\">\r\n                <nz-form-label style=\"width: 40%;\">自动化描述</nz-form-label>\r\n                <nz-form-control style=\"width: 60%;\">\r\n                  <input nz-input formControlName=\"automationDescFuzzy\"/>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n\r\n\r\n          </div>\r\n          <div nz-col [nzSpan]=\"3\">\r\n            <div style=\"display: flex;\">\r\n              <nz-form-item>\r\n                <nz-form-control>\r\n                  <button nz-button (click)=\"search()\" nzType=\"primary\">搜索</button>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n              <nz-form-item>\r\n                <nz-form-control>\r\n                  <button nz-button (click)=\"reset()\">重置</button>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </form>\r\n    </section>\r\n  <div class=\"task-oparte\">\r\n    <button style=\"margin-right:5px\" nz-button (click)=\"batchEdit()\">\r\n      <span>批量编辑</span>\r\n    </button>\r\n    <button style=\"margin-right:5px\" nz-button (click)=\"batchDeleteTask()\">\r\n      <span>删除</span>\r\n    </button>\r\n    <button style=\"margin-right:5px\" nz-button (click)=\"cdkDragEnabled = true\">\r\n      <i nz-icon nzType=\"ordered-list\" nzTheme=\"outline\"></i>\r\n      <span>排序</span>\r\n    </button>\r\n    <button nz-button nzType=\"primary\" (click)=\"addTask()\">\r\n      <i nz-icon nzIconfont='icon-xinzeng'></i>\r\n      <span>新增</span>\r\n    </button>\r\n  </div>\r\n  <nz-table #expandTable\r\n            nzShowSizeChanger\r\n            [nzData]=\"listOfMapData\"\r\n            [nzFrontPagination]=\"false\"\r\n            [nzTotal]=\"pageTotal\"\r\n            [nzPageSize]=\"pageSize\"\r\n            [nzPageIndex]=\"pageIndex\"\r\n            [nzPageSizeOptions]=\"pageSizeOptions\"\r\n            nzPaginationPosition=\"bottom\"\r\n            [nzShowTotal]=\"totalTemplate\"\r\n            [nzLoading]=\"isLoading\"\r\n            nzScroll=\"{ x: '1550px'}\"\r\n            nzShowQuickJumper\r\n            (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\"\r\n            (nzPageIndexChange)=\"pageIndexChange($event)\"\r\n            (nzPageSizeChange)=\"pageSizeChange($event)\">\r\n    <thead>\r\n    <tr>\r\n      <th nzLeft [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\" (nzCheckedChange)=\"onAllChecked($event)\"></th>\r\n      <th>任务管理</th>\r\n      <th nzWidth=\"150px\">岗位</th>\r\n      <th nzWidth=\"100px\">班次</th>\r\n      <th nzWidth=\"100px\">创建方式</th>\r\n      <th nzWidth=\"100px\">关联对象</th>\r\n      <th nzWidth=\"200px\">自动化描述</th>\r\n      <th nzRight nzWidth=\"150px\">操作</th>\r\n    </tr>\r\n    </thead>\r\n    <tbody>\r\n    <ng-container *ngFor=\"let data of expandTable.data\">\r\n      <ng-container *ngFor=\"let item of mapOfExpandedData[data.id]\">\r\n        <tr *ngIf=\"(item.parent && item.parent.expand) || !item.parent\" >\r\n          <td\r\n            nzLeft\r\n            [nzChecked]=\"setOfCheckedId.has(item.id)\"\r\n            [nzDisabled]=\"item.disabled\"\r\n            (nzCheckedChange)=\"onItemChecked(item.id, $event)\"></td>\r\n          <td\r\n            [nzIndentSize]=\"item.level! * 20\"\r\n            [nzShowExpand]=\"!!item.children\"\r\n            [(nzExpand)]=\"item.expand\"\r\n            (nzExpandChange)=\"collapse(mapOfExpandedData[data.id], item, $event)\">\r\n            {{ item.name }}\r\n          </td>\r\n          <td>\r\n            <ng-container *ngIf=\"item.operationRoleNames\">\r\n              <span *ngFor=\"let name of item.operationRoleNames\" class=\"operation-colum\">{{name}}</span>\r\n            </ng-container>\r\n          </td>\r\n          <td><span class=\"workDef-colum\">{{ item.workDefName }}</span></td>\r\n          <td>{{ item.createWayType === 'manual'?'人工发起':'自动创建' }}</td>\r\n          <td><ng-container *ngIf=\"item.relevance\">{{ item.relevance ==='01'? '产品':'托管行' }}</ng-container><ng-container *ngIf=\"!item.relevance\">{{ item.relevance}}</ng-container></td>\r\n          <td>{{ item.automationDesc }}</td>\r\n          <td nzRight>\r\n            <div class=\"row-oprate\">\r\n              <i nz-icon nzIconfont='icon-tianjia' title=\"添加子任务\" style=\"color: #02A0FF;\" (click)=\"addChildTaskOperate(item)\"></i>\r\n              <i nz-icon nzIconfont='icon-chakan-copy' title=\"查看\" style=\"color: #02A0FF;\" (click)=\"viewHandle(item)\"></i>\r\n              <i nz-icon nzIconfont='icon-7bianji' title=\"编辑\" style=\"color: #FF7800;\" (click)=\"editHandle(item)\"></i>\r\n              <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;\" (click)=\"deleteTask(item)\"></i>\r\n            </div>\r\n          </td>\r\n        </tr>\r\n      </ng-container>\r\n    </ng-container>\r\n    </tbody>\r\n  </nz-table>\r\n  <ng-template #totalTemplate let-total>共 {{total}} 条</ng-template>\r\n  </nz-content>\r\n</div>\r\n</nz-layout>\r\n\r\n<!--新增弹窗-->\r\n<ng-template #modelOrganizationNew>\r\n  <div class=\"add-task\">\r\n    <form nz-form [formGroup]=\"addForm\">\r\n      <input type=\"hidden\" nz-input formControlName=\"boardId\" />\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">任务名称</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务名称\">\r\n              <input nz-input formControlName=\"name\" placeHolder=\"请输入任务名称\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">面板分组</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择面板分组\">\r\n              <nz-select formControlName=\"groupId\" nzPlaceHolder=\"请选择面板分组\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.title\" *ngFor=\"let item of boardGroupData\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">组织</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择组织\">\r\n              <nz-select [nzDisabled]=\"operateType === 'edit'?false:false\" formControlName=\"operationOrgCode\" nzPlaceHolder=\"请选择组织\" (ngModelChange)=\"changeDepartment($event)\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.code\" [nzLabel]=\"item.name\" *ngFor=\"let item of departmentOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">班次</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择班次\">\r\n              <nz-select formControlName=\"workDefId\" nzPlaceHolder=\"请选择班次\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of workDefsOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">岗位</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <nz-select [nzDisabled]=\"operateType === 'edit'?false:false\" formControlName=\"operationRoleCodes\" nzPlaceHolder=\"请选择岗位\" nzMode=\"multiple\" (ngModelChange)=\"changeOperationRole($event)\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.roleId\" [nzLabel]=\"item.roleName\" *ngFor=\"let item of jobOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">关联对象</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择关联对象\" [nzXs]=\"24\">\r\n              <nz-select [nzDisabled]=\"operateType === 'edit'?false:false\" formControlName=\"relevance\" nzPlaceHolder=\"请选择关联对象\" (ngModelChange)=\"changeRelevance($event)\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.label\" *ngFor=\"let item of relationObject\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">是否需要授权</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"isAuth\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n                <nz-option [nzValue]=\"'0'\" [nzLabel]=\"'否'\"></nz-option>\r\n                <nz-option [nzValue]=\"'1'\" [nzLabel]=\"'是'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label nzRequired [nzSm]=\"8\" [nzXs]=\"24\">创建方式 <i style=\"font-size:13px\" nz-tooltip nzTooltipTitle=\"人工发起的规则进入任务池，不会自动生成任务。\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i></nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"createWayType\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n                <nz-option [nzValue]=\"'auto'\" [nzLabel]=\"'自动创建'\"></nz-option>\r\n                <nz-option [nzValue]=\"'manual'\" [nzLabel]=\"'人工发起'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">前置任务</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"preTaskId\" nzPlaceHolder=\"请选择\" [nzMode]=\"'multiple'\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of preTaskOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务时间区间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-date-picker nzPlaceHolder=\"开始日期\" formControlName=\"periodStartAt\" (ngModelChange)=\"taskDatestartChange($event, 'parent')\"></nz-date-picker>\r\n              <span style=\"margin:0 10px\">-</span>\r\n              <nz-date-picker nzPlaceHolder=\"结束日期\" formControlName=\"periodEndAt\" (ngModelChange)=\"taskDateEndChange($event, 'parent')\"></nz-date-picker>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">频率设置</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <app-set-scheduler #setScheduler [nfData]=\"schedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getSchedulerData($event)\"></app-set-scheduler>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-col nzSpan=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务描述</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务描述\">\r\n            <textarea\r\n              nz-input\r\n              formControlName=\"description\"\r\n              placeholder=\"请输入任务描述\"\r\n              [nzAutosize]=\"{ minRows: 2, maxRows: 6 }\"\r\n            ></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务处理配置</nz-form-label>\r\n            <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <span class=\"config-oprate\" (click)=\"addTaskConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskConfigData && taskConfigData.length\">\r\n          <nz-table #basicTable [nzData]=\"taskConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '700px'}\">\r\n            <thead>\r\n            <tr>\r\n              <th nzWidth=\"150px\">标题</th>\r\n              <th nzWidth=\"150px\">操作</th>\r\n              <th nzWidth=\"150px\">选项</th>\r\n              <th nzWidth=\"100px\">状态</th>\r\n              <th nzWidth=\"150px\">操作</th>\r\n            </tr>\r\n            </thead>\r\n            <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n              <td>{{ data.title }}</td>\r\n              <td>{{ data.operationName }}</td>\r\n              <td>\r\n                <ng-container *ngIf=\"data.optionConfig && data.optionConfig.length\">\r\n                  <ng-container *ngFor=\"let item of data.optionConfig; let i = index\">\r\n                    <ng-container *ngIf=\"(i + 1) === data.optionConfig.length\">\r\n                      {{item.label}}\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"(i + 1) !== data.optionConfig.length\">\r\n                      {{item.label}},\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </td>\r\n              <td>\r\n                <nz-switch [(ngModel)]=\"data.status\" nzCheckedChildren=\"开\" nzUnCheckedChildren=\"关\" [ngModelOptions]=\"{standalone: true}\"></nz-switch>\r\n              </td>\r\n              <td>\r\n                <div class=\"row-oprate\">\r\n                  <i nz-icon nzIconfont='icon-7bianji' title=\"编辑\" style=\"color: #FF7800;\" (click)=\"editTaskOption(data)\"></i>\r\n                  <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;\" (click)=\"deleteTaskOption(i)\"></i>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            </tbody>\r\n          </nz-table>\r\n        </div>\r\n        <ng-container *ngIf=\"taskSystemParameter && taskSystemParameter.report && taskSystemParameter.report == 'report'\">\r\n          <div nz-col nzSpan=\"24\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联报表配置</nz-form-label>\r\n              <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <span class=\"config-oprate\" (click)=\"addReportConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"24\" *ngIf=\"reportConfigData && reportConfigData.length\">\r\n            <nz-table #basicTable [nzData]=\"reportConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '750px'}\">\r\n              <thead>\r\n              <tr>\r\n                <th nzWidth=\"250px\">报表</th>\r\n                <!--<th nzWidth=\"350px\">报表参数</th>-->\r\n                <th nzWidth=\"150px\">操作</th>\r\n              </tr>\r\n              </thead>\r\n              <tbody>\r\n              <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n                <td>{{ data.name }}</td>\r\n                <!--<td>{{ data.reportParam }}</td>-->\r\n                <td>\r\n                  <div class=\"row-oprate\">\r\n                    <i nz-icon nzIconfont='icon-7bianji' title=\"编辑\" style=\"color: #FF7800;\" (click)=\"editReportConfig(data)\"></i>\r\n                    <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;\" (click)=\"deleteReportConfig(i)\"></i>\r\n                  </div>\r\n                </td>\r\n              </tr>\r\n              </tbody>\r\n            </nz-table>\r\n          </div>\r\n        </ng-container>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.audit && taskSystemParameter.audit == 'audit'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联稽核指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <div *ngIf=\"addAuditTags && addAuditTags.length\">\r\n                <nz-tag *ngFor=\"let tag of addAuditTags; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleAuditTagsClose(i)\">\r\n                  {{ tag.name }}\r\n                </nz-tag>\r\n              </div>\r\n              <span class=\"config-oprate\" (click)=\"addAuditConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n<!--              <nz-select formControlName=\"auditItemIdList\" nzPlaceHolder=\"请选择关联稽核指标\" nzMode=\"multiple\" nzShowSearch>-->\r\n<!--                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of auditOptions\"></nz-option>-->\r\n<!--              </nz-select>-->\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.indicator && taskSystemParameter.indicator == 'indicator'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联监控指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <div *ngIf=\"addMonitorTags && addMonitorTags.length\">\r\n                <nz-tag *ngFor=\"let tag of addMonitorTags; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleMonitorTagsClose(i)\">\r\n                  {{ tag.name }}\r\n                </nz-tag>\r\n              </div>\r\n              <span class=\"config-oprate\" (click)=\"addMonitorConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n<!--              <nz-select formControlName=\"monitorItemIdList\" nzPlaceHolder=\"请选择关联监控指标\" nzMode=\"multiple\" nzShowSearch>-->\r\n<!--                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of monitorOptions\"></nz-option>-->\r\n<!--              </nz-select>-->\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务执行时间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <div *ngIf=\"inspectionListObj && inspectionListObj.length\">\r\n                <nz-tag *ngFor=\"let tag of inspectionListObj; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleInspectionClose(i)\">\r\n                  <ng-container *ngIf=\"tag.startTime === tag.endTime\">\r\n                    {{ tag.startTime }}\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"tag.startTime !== tag.endTime\">\r\n                    {{ tag.startTime }} - {{ tag.endTime }}\r\n                  </ng-container>\r\n                </nz-tag>\r\n              </div>\r\n              <span class=\"config-oprate\" (click)=\"openInspectionDialog()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n<ng-template #modelOrganizationNewFooter>\r\n  <div>\r\n    <button nz-button nzType=\"primary\" [nzLoading]=\"isSubmitLoading\" (click)=\"submitForm()\">确定</button>\r\n    <button nz-button nzType=\"default\" (click)=\"addCancel(true)\">关闭</button>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--查看详情-->\r\n<ng-template #viewTask>\r\n  <div class=\"add-task\">\r\n    <form nz-form [formGroup]=\"addForm\">\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">任务名称</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务名称\">\r\n              <input nz-input formControlName=\"name\" placeHolder=\"请输入任务名称\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">面板分组</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择面板分组\">\r\n              <nz-select formControlName=\"groupId\" nzPlaceHolder=\"请选择面板分组\">\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.title\" *ngFor=\"let item of boardGroupData\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">组织</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择组织\">\r\n              <nz-select formControlName=\"operationOrgCode\" nzPlaceHolder=\"请选择组织\" (ngModelChange)=\"changeDepartment($event)\">\r\n                <nz-option [nzValue]=\"item.code\" [nzLabel]=\"item.name\" *ngFor=\"let item of departmentOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">班次</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择班次\">\r\n              <nz-select formControlName=\"workDefId\" nzPlaceHolder=\"请选择班次\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of workDefsOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">岗位</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"operationRoleCodes\" nzMode=\"multiple\" nzPlaceHolder=\"请选择岗位\">\r\n                <nz-option [nzValue]=\"item.roleId\" [nzLabel]=\"item.roleName\" *ngFor=\"let item of jobOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">关联对象</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择关联对象\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"relevance\" (ngModelChange)=\"changeRelevance($event)\">\r\n                <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.label\" *ngFor=\"let item of relationObject\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">是否需要授权</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"isAuth\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n                <nz-option [nzValue]=\"'0'\" [nzLabel]=\"'否'\"></nz-option>\r\n                <nz-option [nzValue]=\"'1'\" [nzLabel]=\"'是'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>创建方式</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"createWayType\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n                <nz-option [nzValue]=\"'auto'\" [nzLabel]=\"'自动创建'\"></nz-option>\r\n                <nz-option [nzValue]=\"'manual'\" [nzLabel]=\"'人工发起'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">前置任务</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"preTaskId\" nzPlaceHolder=\"请选择\" [nzMode]=\"'multiple'\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of preTaskOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务时间区间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-date-picker nzPlaceHolder=\"开始日期\" formControlName=\"periodStartAt\"></nz-date-picker>\r\n              <span style=\"margin:0 10px\">-</span>\r\n              <nz-date-picker nzPlaceHolder=\"结束日期\" formControlName=\"periodEndAt\"></nz-date-picker>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">频率设置</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              {{selectedTask['automationDesc']}}\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-col nzSpan=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">任务描述</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务描述\">\r\n            <textarea\r\n              nz-input\r\n              formControlName=\"description\"\r\n              placeholder=\"请输入任务描述\"\r\n              [nzAutosize]=\"{ minRows: 2, maxRows: 6 }\"\r\n            ></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <!-- <div class=\"middle-line\"></div> -->\r\n      <div nz-row>\r\n        <!--<div nz-col nzSpan=\"24\">-->\r\n        <!--<nz-form-item>-->\r\n        <!--<nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务状态配置</nz-form-label>-->\r\n        <!--<nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">-->\r\n        <!--</nz-form-control>-->\r\n        <!--</nz-form-item>-->\r\n        <!--</div>-->\r\n        <!--<div nz-col nzSpan=\"24\" *ngIf=\"taskStatusList && taskStatusList.length\">-->\r\n        <!--<nz-table #basicTable [nzData]=\"taskStatusList\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '550px'}\">-->\r\n        <!--<thead>-->\r\n        <!--<tr>-->\r\n        <!--<th>选项</th>-->\r\n        <!--</tr>-->\r\n        <!--</thead>-->\r\n        <!--<tbody>-->\r\n        <!--<tr *ngFor=\"let data of basicTable.data; let i = index\">-->\r\n        <!--<td>-->\r\n        <!--{{data.title}}-->\r\n        <!--</td>-->\r\n        <!--</tr>-->\r\n        <!--</tbody>-->\r\n        <!--</nz-table>-->\r\n        <!--</div>-->\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务处理配置</nz-form-label>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskConfigData && taskConfigData.length\">\r\n          <nz-table #basicTable [nzData]=\"taskConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '700px'}\">\r\n            <thead>\r\n            <tr>\r\n              <th nzWidth=\"150px\">标题</th>\r\n              <th nzWidth=\"150px\">操作</th>\r\n              <th nzWidth=\"150px\">选项</th>\r\n              <th nzWidth=\"100px\">状态</th>\r\n            </tr>\r\n            </thead>\r\n            <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n              <td>{{ data.title }}</td>\r\n              <td>{{ data.operationName }}</td>\r\n              <td>\r\n                <ng-container *ngIf=\"data.optionConfig && data.optionConfig.length\">\r\n                  <ng-container *ngFor=\"let item of data.optionConfig; let i = index\">\r\n                    <ng-container *ngIf=\"(i + 1) === data.optionConfig.length\">\r\n                      {{item.desc}}\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"(i + 1) !== data.optionConfig.length\">\r\n                      {{item.desc}},\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </td>\r\n              <td>\r\n                <nz-switch [ngModel]=\"data.status\" nzDisabled nzCheckedChildren=\"开\" nzUnCheckedChildren=\"关\" [ngModelOptions]=\"{standalone: true}\"></nz-switch>\r\n              </td>\r\n            </tr>\r\n            </tbody>\r\n          </nz-table>\r\n        </div>\r\n        <ng-container *ngIf=\"taskSystemParameter && taskSystemParameter.report && taskSystemParameter.report == 'report'\">\r\n          <div nz-col nzSpan=\"24\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联报表配置</nz-form-label>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"24\" *ngIf=\"reportConfigData && reportConfigData.length\">\r\n            <nz-table #basicTable [nzData]=\"reportConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '750px'}\">\r\n              <thead>\r\n              <tr>\r\n                <th nzWidth=\"250px\">报表</th>\r\n                <!--<th nzWidth=\"350px\">报表参数</th>-->\r\n              </tr>\r\n              </thead>\r\n              <tbody>\r\n              <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n                <td>{{ data.name }}</td>\r\n                <!--<td>{{ data.reportParam }}</td>-->\r\n              </tr>\r\n              </tbody>\r\n            </nz-table>\r\n          </div>\r\n        </ng-container>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.audit && taskSystemParameter.audit == 'audit'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联稽核指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"auditItemIdList\" nzPlaceHolder=\"请选择关联稽核指标\" nzMode=\"multiple\" nzShowSearch>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of auditOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.indicator && taskSystemParameter.indicator == 'indicator'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联监控指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"monitorItemIdList\" nzPlaceHolder=\"请选择关联监控指标\" nzMode=\"multiple\" nzShowSearch>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of monitorOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务执行时间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-tag *ngFor=\"let tag of inspectionListObj; let i = index\">\r\n                <ng-container *ngIf=\"tag.startTime === tag.endTime\">\r\n                  {{ tag.startTime }}\r\n                </ng-container>\r\n                <ng-container *ngIf=\"tag.startTime !== tag.endTime\">\r\n                  {{ tag.startTime }} - {{ tag.endTime }}\r\n                </ng-container>\r\n              </nz-tag>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n<ng-template #viewTaskFooter>\r\n  <div>\r\n    <button nz-button nzType=\"default\" (click)=\"addCancel()\">关闭</button>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- 任务处理配置 -->\r\n<ng-template #taskConfigModal>\r\n  <div class=\"task-config\">\r\n    <form nz-form [formGroup]=\"taskConfigForm\">\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">标题</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请输入标题\">\r\n              <input nz-input formControlName=\"title\" placeHolder=\"请输入标题\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>操作</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"operationCode\" nzPlaceHolder=\"请选择操作\" nzAllowClear (ngModelChange)=\"operationCodeChange()\">\r\n                <nz-option [nzValue]=\"'radio'\" [nzLabel]=\"'单选'\"></nz-option>\r\n                <nz-option [nzValue]=\"'checkbox'\" [nzLabel]=\"'多选'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\" class=\"set-item-label\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\"  [nzXs]=\"24\"></nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <span class=\"add-task-config-btn\" (click)=\"addOption()\">\r\n                <i nz-icon nzIconfont='icon-tianjia'></i>\r\n                添加\r\n              </span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-table #basicTable [nzData]=\"optionData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '550px'}\">\r\n            <thead>\r\n            <tr>\r\n              <th nzWidth=\"200px\">选项描述</th>\r\n              <th nzWidth=\"100px\">选项值</th>\r\n              <th nzWidth=\"250px\">触发事件</th>\r\n              <th nzWidth=\"100px\">操作</th>\r\n            </tr>\r\n            </thead>\r\n            <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n              <td><input nz-input placeholder=\"请输入选项描述\" [(ngModel)]=\"data.label\" [ngModelOptions]=\"{standalone: true}\" /></td>\r\n              <td><input nz-input placeholder=\"请输入选项值\" [(ngModel)]=\"data.value\" [ngModelOptions]=\"{standalone: true}\" /></td>\r\n              <td>\r\n                <nz-select style=\"width: 200px;\" [(ngModel)]=\"data.event\" [ngModelOptions]=\"{standalone: true}\" nzAllowClear>\r\n                  <nz-option *ngFor=\"let item of eventList\" [nzValue]=\"item.value\" [nzLabel]=\"item.name\"></nz-option>\r\n                </nz-select>\r\n              </td>\r\n              <td>\r\n                <div class=\"row-oprate\">\r\n                  <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;\" (click)=\"deleteOption(i)\"></i>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            </tbody>\r\n          </nz-table>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n<ng-template #taskConfigFooterModal>\r\n  <div>\r\n    <button nz-button nzType=\"primary\" (click)=\"addConfigConfirm()\">确定</button>\r\n    <button nz-button nzType=\"default\" (click)=\"addConfigCancel(true)\">关闭</button>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- 关联报表配置 -->\r\n<ng-template #reportConfigModal>\r\n  <div class=\"report-config\">\r\n    <form nz-form [formGroup]=\"reportConfigForm\">\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">选择报表</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择报表\">\r\n              <nz-select formControlName=\"reportId\" nzPlaceHolder=\"请选择报表\">\r\n                <nz-option *ngFor=\"let item of reportList\" [nzValue]=\"item.id\" [nzLabel]=\"item.name\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <!--<nz-form-item>-->\r\n          <!--<nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">报表入参</nz-form-label>-->\r\n          <!--<nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">-->\r\n          <!--<nz-select formControlName=\"reportParam\" nzPlaceHolder=\"请报表入参\">-->\r\n          <!--<nz-option *ngFor=\"let item of reportParamList\" [nzValue]=\"item\" [nzLabel]=\"item\"></nz-option>-->\r\n          <!--</nz-select>-->\r\n          <!--</nz-form-control>-->\r\n          <!--</nz-form-item>-->\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n<ng-template #reportConfigFooterModal>\r\n  <div>\r\n    <button nz-button nzType=\"primary\" (click)=\"addReportConfigConfirm()\">确定</button>\r\n    <button nz-button nzType=\"default\" (click)=\"addConfigCancel(true)\">关闭</button>\r\n  </div>\r\n</ng-template>\r\n<!-- 任务执行时间 -->\r\n<nz-modal [(nzVisible)]=\"isInspectionVisible\" [nzTitle]=\"'任务执行时间'\" [nzMaskClosable]=\"false\" [nzWidth]=\"'250px'\" [nzWrapClassName]=\"'vertical-center-modal'\" (nzOnOk)=\"handleInspectionOk()\" (nzOnCancel)=\"handleInspectionCancel()\">\r\n  <div style=\"margin-bottom:10px\">\r\n    <nz-radio-group [(ngModel)]=\"taskRoutingInspectionType\" (ngModelChange)=\"taskRoutingInspectionChange()\">\r\n      <label nz-radio [nzValue]=\"1\">固定时间</label>\r\n      <label nz-radio [nzValue]=\"2\">时间区间</label>\r\n    </nz-radio-group>\r\n  </div>\r\n  <ng-container *ngIf=\"taskRoutingInspectionType === 1\">\r\n    <nz-time-picker style=\"width:100%\" [(ngModel)]=\"inspectionDate\"></nz-time-picker>\r\n  </ng-container>\r\n  <ng-container *ngIf=\"taskRoutingInspectionType === 2\">\r\n    <nz-time-picker style=\"width:48%\" nzPlaceHolder=\"开始时间\" [(ngModel)]=\"inspectionStartDate\"></nz-time-picker>\r\n    <nz-time-picker style=\"width:48%;margin-left:5px\" nzPlaceHolder=\"结束时间\" [(ngModel)]=\"inspectionEndDate\"></nz-time-picker>\r\n    <div style=\"margin-top:10px\">\r\n      间隔 <nz-input-number style=\"width:100px !important;\" [(ngModel)]=\"interval\" [nzMin]=\"1\" [nzStep]=\"1\"></nz-input-number> 分钟执行 <span nz-tooltip nzTooltipTitle=\"间隔时间建议配置5分钟起，间隔时间过低会加重系统资源负担。\"><i style=\"font-size:16px;color:#f60\" nz-icon nzType=\"warning\" nzTheme=\"outline\"></i></span>\r\n    </div>\r\n  </ng-container>\r\n</nz-modal>\r\n\r\n<!--添加子任务-->\r\n<ng-template #addChildTaskModal>\r\n  <div class=\"add-task\">\r\n    <form nz-form [formGroup]=\"addChildForm\">\r\n      <input type=\"hidden\" nz-input formControlName=\"boardId\" />\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"operateType == 'add'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">主任务</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <span>{{selectedTask.name}}</span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">子任务名称</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <input nz-input formControlName=\"name\" placeHolder=\"请输入子任务名称\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">面板分组</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择面板分组\">\r\n              <nz-select formControlName=\"groupId\" nzPlaceHolder=\"请选择面板分组\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.title\" *ngFor=\"let item of boardGroupData\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">组织</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择组织\">\r\n              <nz-select formControlName=\"operationOrgCode\" [nzDisabled]=\"true\" nzPlaceHolder=\"请选择组织\" (ngModelChange)=\"changeDepartment($event)\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.code\" [nzLabel]=\"item.name\" *ngFor=\"let item of departmentOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">班次</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择班次\">\r\n              <nz-select formControlName=\"workDefId\" nzPlaceHolder=\"请选择班次\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of workDefsOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">岗位</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"operationRoleCodes\" nzPlaceHolder=\"请选择岗位\" nzMode=\"multiple\">\r\n                <nz-option [nzValue]=\"item.roleId\" [nzLabel]=\"item.roleName\" [nzDisabled]=\"item.disable\" *ngFor=\"let item of childJobOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">关联对象</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择关联对象\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"relevance\" nzPlaceHolder=\"请选择关联对象\" (ngModelChange)=\"changeRelevance($event)\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.label\" *ngFor=\"let item of relationObject\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">是否需要授权</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"isAuth\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n                <nz-option [nzValue]=\"'0'\" [nzLabel]=\"'否'\"></nz-option>\r\n                <nz-option [nzValue]=\"'1'\" [nzLabel]=\"'是'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\" nzRequired>创建方式 <i style=\"font-size:13px\" nz-tooltip nzTooltipTitle=\"人工发起的规则进入任务池，不会自动生成任务。\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i></nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"createWayType\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n                <nz-option [nzValue]=\"'auto'\" [nzLabel]=\"'自动创建'\"></nz-option>\r\n                <nz-option [nzValue]=\"'manual'\" [nzLabel]=\"'人工发起'\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">前置任务</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"preTaskId\" nzPlaceHolder=\"请选择\" [nzMode]=\"'multiple'\" nzAllowClear>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of preTaskOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务时间区间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-date-picker nzPlaceHolder=\"开始日期\" formControlName=\"periodStartAt\" (ngModelChange)=\"taskDatestartChange($event, 'child')\"></nz-date-picker>\r\n              <span style=\"margin:0 10px\">-</span>\r\n              <nz-date-picker nzPlaceHolder=\"结束日期\" formControlName=\"periodEndAt\" (ngModelChange)=\"taskDateEndChange($event, 'child')\"></nz-date-picker>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">频率设置</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <app-set-scheduler #setChildScheduler [nfData]=\"childSchedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getChildSchedulerData($event)\"></app-set-scheduler>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-col nzSpan=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务描述</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务描述\">\r\n            <textarea\r\n              nz-input\r\n              formControlName=\"description\"\r\n              placeholder=\"请输入任务描述\"\r\n              [nzAutosize]=\"{ minRows: 2, maxRows: 6 }\"\r\n            ></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务处理配置</nz-form-label>\r\n            <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <span class=\"config-oprate\" (click)=\"addTaskConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskConfigData && taskConfigData.length\">\r\n          <nz-table #basicTable [nzData]=\"taskConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '700px'}\">\r\n            <thead>\r\n            <tr>\r\n              <th nzWidth=\"150px\">标题</th>\r\n              <th nzWidth=\"150px\">操作</th>\r\n              <th nzWidth=\"150px\">选项</th>\r\n              <th nzWidth=\"100px\">状态</th>\r\n              <th nzWidth=\"150px\">操作</th>\r\n            </tr>\r\n            </thead>\r\n            <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n              <td>{{ data.title }}</td>\r\n              <td>{{ data.operationName }}</td>\r\n              <td>\r\n                <ng-container *ngIf=\"data.optionConfig && data.optionConfig.length\">\r\n                  <ng-container *ngFor=\"let item of data.optionConfig; let i = index\">\r\n                    <ng-container *ngIf=\"(i + 1) === data.optionConfig.length\">\r\n                      {{item.desc}}\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"(i + 1) !== data.optionConfig.length\">\r\n                      {{item.desc}},\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </td>\r\n              <td>\r\n                <nz-switch [(ngModel)]=\"data.status\" nzCheckedChildren=\"开\" nzUnCheckedChildren=\"关\" [ngModelOptions]=\"{standalone: true}\"></nz-switch>\r\n              </td>\r\n              <td>\r\n                <div class=\"row-oprate\">\r\n                  <i nz-icon nzIconfont='icon-7bianji' title=\"编辑\" style=\"color: #FF7800;\" (click)=\"editTaskOption(data)\"></i>\r\n                  <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;\" (click)=\"deleteTaskOption(i)\"></i>\r\n                </div>\r\n              </td>\r\n            </tr>\r\n            </tbody>\r\n          </nz-table>\r\n        </div>\r\n        <ng-container *ngIf=\"taskSystemParameter && taskSystemParameter.report && taskSystemParameter.report == 'report'\">\r\n          <div nz-col nzSpan=\"24\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联报表配置</nz-form-label>\r\n              <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <span class=\"config-oprate\" (click)=\"addReportConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"24\" *ngIf=\"reportConfigData && reportConfigData.length\">\r\n            <nz-table #basicTable [nzData]=\"reportConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '750px'}\">\r\n              <thead>\r\n              <tr>\r\n                <th nzWidth=\"250px\">报表</th>\r\n                <!--<th nzWidth=\"350px\">报表参数</th>-->\r\n                <th nzWidth=\"150px\">操作</th>\r\n              </tr>\r\n              </thead>\r\n              <tbody>\r\n              <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n                <td>{{ data.name }}</td>\r\n                <!--<td>{{ data.reportParam }}</td>-->\r\n                <td>\r\n                  <div class=\"row-oprate\">\r\n                    <i nz-icon nzIconfont='icon-7bianji' title=\"编辑\" style=\"color: #FF7800;\" (click)=\"editReportConfig(data)\"></i>\r\n                    <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;\" (click)=\"deleteReportConfig(i)\"></i>\r\n                  </div>\r\n                </td>\r\n              </tr>\r\n              </tbody>\r\n            </nz-table>\r\n          </div>\r\n        </ng-container>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.audit && taskSystemParameter.audit == 'audit'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联稽核指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <div *ngIf=\"addAuditTags && addAuditTags.length\">\r\n                <nz-tag *ngFor=\"let tag of addAuditTags; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleAuditTagsClose(i)\">\r\n                  {{ tag.name }}\r\n                </nz-tag>\r\n              </div>\r\n              <span class=\"config-oprate\" (click)=\"addAuditConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n<!--              <nz-select formControlName=\"auditItemIdList\" nzPlaceHolder=\"请选择关联稽核指标\" nzMode=\"multiple\" nzShowSearch>-->\r\n<!--                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of auditOptions\"></nz-option>-->\r\n<!--              </nz-select>-->\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.indicator && taskSystemParameter.indicator == 'indicator'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联监控指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <div *ngIf=\"addMonitorTags && addMonitorTags.length\">\r\n                <nz-tag *ngFor=\"let tag of addMonitorTags; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleMonitorTagsClose(i)\">\r\n                  {{ tag.name }}\r\n                </nz-tag>\r\n              </div>\r\n              <span class=\"config-oprate\" (click)=\"addMonitorConfig()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n<!--              <nz-select formControlName=\"monitorItemIdList\" nzPlaceHolder=\"请选择关联监控指标\" nzMode=\"multiple\" nzShowSearch>-->\r\n<!--                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of monitorOptions\"></nz-option>-->\r\n<!--              </nz-select>-->\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务执行时间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-tag *ngFor=\"let tag of inspectionListObj; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleInspectionClose(i)\">\r\n                <ng-container *ngIf=\"tag.startTime === tag.endTime\">\r\n                  {{ tag.startTime }}\r\n                </ng-container>\r\n                <ng-container *ngIf=\"tag.startTime !== tag.endTime\">\r\n                  {{ tag.startTime }} - {{ tag.endTime }}\r\n                </ng-container>\r\n              </nz-tag>\r\n              <span class=\"config-oprate\" (click)=\"openInspectionDialog()\">\r\n                <i nz-icon nzIconfont='icon-peizhi'></i>\r\n                配置\r\n              </span>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n<ng-template #addChildTaskModalFooter>\r\n  <div>\r\n    <button nz-button nzType=\"primary\" [nzLoading]=\"isSubmitLoading\" (click)=\"addChildTaskConfirm()\">确定</button>\r\n    <button nz-button nzType=\"default\" (click)=\"addChildTaskCancel()\">关闭</button>\r\n  </div>\r\n</ng-template>\r\n\r\n<!--查看子任务-->\r\n<ng-template #viewChildTask>\r\n  <div class=\"add-task\">\r\n    <form nz-form [formGroup]=\"addChildForm\">\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">任务名称</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <input nz-input formControlName=\"name\" placeHolder=\"请输入子任务名称\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">面板分组</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择面板分组\">\r\n              <nz-select formControlName=\"groupId\" nzPlaceHolder=\"请选择面板分组\">\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.title\" *ngFor=\"let item of boardGroupData\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" nzRequired [nzXs]=\"24\">组织</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择组织\">\r\n              <nz-select formControlName=\"operationOrgCode\" nzPlaceHolder=\"请选择组织\" (ngModelChange)=\"changeDepartment($event)\">\r\n                <nz-option [nzValue]=\"item.code\" [nzLabel]=\"item.name\" *ngFor=\"let item of departmentOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">班次</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\" nzErrorTip=\"请选择班次\">\r\n              <nz-select formControlName=\"workDefId\" nzPlaceHolder=\"请选择班次\">\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of workDefsOption\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">岗位</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"operationRoleCodes\" nzMode=\"multiple\" nzPlaceHolder=\"请选择岗位\">\r\n                <nz-option [nzValue]=\"item.roleId\" [nzLabel]=\"item.roleName\" *ngFor=\"let item of jobOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"8\" [nzXs]=\"24\">关联对象</nz-form-label>\r\n            <nz-form-control [nzSm]=\"16\" nzErrorTip=\"请选择关联对象\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"relevance\" (ngModelChange)=\"changeRelevance($event)\">\r\n                <nz-option [nzValue]=\"item.value\" [nzLabel]=\"item.label\" *ngFor=\"let item of relationObject\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务时间区间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-date-picker nzPlaceHolder=\"开始日期\" formControlName=\"periodStartAt\"></nz-date-picker>\r\n              <span style=\"margin:0 10px\">-</span>\r\n              <nz-date-picker nzPlaceHolder=\"结束日期\" formControlName=\"periodEndAt\"></nz-date-picker>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">频率设置</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              {{selectedTask['automationDesc']}}\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <div nz-col nzSpan=\"24\">\r\n        <nz-form-item>\r\n          <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">任务描述</nz-form-label>\r\n          <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务描述\">\r\n            <textarea\r\n              nz-input\r\n              formControlName=\"description\"\r\n              placeholder=\"请输入任务描述\"\r\n              [nzAutosize]=\"{ minRows: 2, maxRows: 6 }\"\r\n            ></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务处理配置</nz-form-label>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskConfigData && taskConfigData.length\">\r\n          <nz-table #basicTable [nzData]=\"taskConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '700px'}\">\r\n            <thead>\r\n            <tr>\r\n              <th nzWidth=\"150px\">标题</th>\r\n              <th nzWidth=\"150px\">操作</th>\r\n              <th nzWidth=\"150px\">选项</th>\r\n              <th nzWidth=\"100px\">状态</th>\r\n            </tr>\r\n            </thead>\r\n            <tbody>\r\n            <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n              <td>{{ data.title }}</td>\r\n              <td>{{ data.operationName }}</td>\r\n              <td>\r\n                <ng-container *ngIf=\"data.optionConfig && data.optionConfig.length\">\r\n                  <ng-container *ngFor=\"let item of data.optionConfig; let i = index\">\r\n                    <ng-container *ngIf=\"(i + 1) === data.optionConfig.length\">\r\n                      {{item.desc}}\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"(i + 1) !== data.optionConfig.length\">\r\n                      {{item.desc}},\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </td>\r\n              <td>\r\n                <nz-switch [ngModel]=\"data.status\" nzDisabled nzCheckedChildren=\"开\" nzUnCheckedChildren=\"关\" [ngModelOptions]=\"{standalone: true}\"></nz-switch>\r\n              </td>\r\n            </tr>\r\n            </tbody>\r\n          </nz-table>\r\n        </div>\r\n        <ng-container *ngIf=\"taskSystemParameter && taskSystemParameter.report && taskSystemParameter.report == 'report'\">\r\n          <div nz-col nzSpan=\"24\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联报表配置</nz-form-label>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"24\" *ngIf=\"reportConfigData && reportConfigData.length\">\r\n            <nz-table #basicTable [nzData]=\"reportConfigData\" [nzFrontPagination]=\"false\" nzScroll=\"{ x: '750px'}\">\r\n              <thead>\r\n              <tr>\r\n                <th nzWidth=\"250px\">报表</th>\r\n                <!--<th nzWidth=\"350px\">报表参数</th>-->\r\n              </tr>\r\n              </thead>\r\n              <tbody>\r\n              <tr *ngFor=\"let data of basicTable.data; let i = index\">\r\n                <td>{{ data.name }}</td>\r\n                <!--<td>{{ data.reportParam }}</td>-->\r\n              </tr>\r\n              </tbody>\r\n            </nz-table>\r\n          </div>\r\n        </ng-container>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.audit && taskSystemParameter.audit == 'audit'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联稽核指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"auditItemIdList\" nzPlaceHolder=\"请选择关联稽核指标\" nzMode=\"multiple\" nzShowSearch>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of auditOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngIf=\"taskSystemParameter && taskSystemParameter.indicator && taskSystemParameter.indicator == 'indicator'\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">关联监控指标</nz-form-label>\r\n            <nz-form-control [nzSm]=\"8\" [nzXs]=\"24\">\r\n              <nz-select formControlName=\"monitorItemIdList\" nzPlaceHolder=\"请选择关联监控指标\" nzMode=\"multiple\" nzShowSearch>\r\n                <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of monitorOptions\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSm]=\"4\" [nzXs]=\"24\">任务执行时间</nz-form-label>\r\n            <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\">\r\n              <nz-tag *ngFor=\"let tag of inspectionListObj; let i = index\">\r\n                <ng-container *ngIf=\"tag.startTime === tag.endTime\">\r\n                  {{ tag.startTime }}\r\n                </ng-container>\r\n                <ng-container *ngIf=\"tag.startTime !== tag.endTime\">\r\n                  {{ tag.startTime }} - {{ tag.endTime }}\r\n                </ng-container>\r\n              </nz-tag>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n<ng-template #viewChildTaskFooter>\r\n  <div>\r\n    <button nz-button nzType=\"default\" (click)=\"addCancel()\">关闭</button>\r\n  </div>\r\n</ng-template>\r\n<!-- 关联稽核设置 -->\r\n<nz-modal [(nzVisible)]=\"isAddAuditVisible\"\r\n          [nzTitle]=\"'设置关联稽核'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'600px'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzFooter]=\"addAuditModalFooter\"\r\n          (nzOnOk)=\"handleAddAuditOk()\"\r\n          (nzOnCancel)=\"handleAddAuditCancel()\">\r\n  <ng-container *ngIf=\"isAddAuditVisible\">\r\n    <nz-form-item>\r\n      <nz-form-label [nzSpan]=\"6\" nzFor=\"auditBoard\">选择面板</nz-form-label>\r\n      <nz-form-control [nzSpan]=\"14\">\r\n        <nz-select [(ngModel)]=\"auditBoardList\" (ngModelChange)=\"auditBoardChange($event)\" nzAllowClear nzShowSearch>\r\n          <nz-option *ngFor=\"let o of auditBoardListOption\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n        </nz-select>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n      <nz-form-label [nzSpan]=\"6\" nzFor=\"email\">选择稽核</nz-form-label>\r\n      <nz-form-control [nzSpan]=\"14\">\r\n        <nz-select [(ngModel)]=\"auditBoardItem\" (ngModelChange)=\"auditItemChange($event)\" nzMode=\"multiple\" nzAllowClear nzShowSearch>\r\n          <nz-option *ngFor=\"let o of auditBoardItemOption\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n        </nz-select>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </ng-container>\r\n  <ng-template #addAuditModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleAddAuditCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleAddAuditOk()\" [disabled]=\"!(auditBoardItem&&auditBoardItem.length)\">添加</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<nz-modal [(nzVisible)]=\"isAddMonitorVisible\"\r\n          [nzTitle]=\"'设置关联监控'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'600px'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzFooter]=\"addIndicatorModalFooter\"\r\n          (nzOnOk)=\"handleAddMonitorOk()\"\r\n          (nzOnCancel)=\"handleAddMonitorCancel()\">\r\n  <ng-container *ngIf=\"isAddMonitorVisible\">\r\n    <nz-form-item>\r\n      <nz-form-label [nzSpan]=\"6\" nzFor=\"indicatorBoardList\">选择面板</nz-form-label>\r\n      <nz-form-control [nzSpan]=\"14\">\r\n        <nz-select [(ngModel)]=\"indicatorBoardList\" (ngModelChange)=\"indicatorBoardChange($event)\" nzAllowClear nzShowSearch>\r\n          <nz-option *ngFor=\"let o of indicatorBoardListOption\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n        </nz-select>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n      <nz-form-label [nzSpan]=\"6\" nzFor=\"indicatorBoardItem\">选择监控</nz-form-label>\r\n      <nz-form-control [nzSpan]=\"14\">\r\n        <nz-select [(ngModel)]=\"indicatorBoardItem\" (ngModelChange)=\"indicatorItemChange($event)\" nzMode=\"multiple\" nzAllowClear nzShowSearch>\r\n          <nz-option *ngFor=\"let o of indicatorBoardItemOption\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n        </nz-select>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </ng-container>\r\n  <ng-template #addIndicatorModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleAddMonitorCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleAddMonitorOk()\" [disabled]=\"!(indicatorBoardItem&&indicatorBoardItem.length)\">添加</button>\r\n  </ng-template>\r\n</nz-modal>\r\n\r\n<nz-modal [(nzVisible)]=\"cdkDragEnabled\" (nzOnCancel)=\"cdkDragEnabled=false\" (nzOnOk)=\"sortOnOk()\" [nzWrapClassName]=\"'vertical-center-modal'\" nzWidth=\"600px\" nzTitle=\"任务规则拖拽排序\">\r\n  <div class=\"dialog-wrapper\">\r\n    <nz-tree [nzData]=\"sortTreeData\" nzDraggable nzBlockNode  [nzBeforeDrop]=\"beforeDrop\" [nzExpandAll]=\"cdkDragEnabled\" >\r\n    </nz-tree>\r\n  </div>\r\n</nz-modal>\r\n\r\n\r\n<nz-modal [(nzVisible)]=\"showBatchEdit\" (nzOnCancel)=\"showBatchEdit=false\" (nzOnOk)=\"showBatchEdit=false\" nzWidth=\"600px\" [nzWrapClassName]=\"'vertical-center-modal'\">\r\n  <h3 [ngStyle]=\"{ margin: '16px 0' }\">批量编辑任务</h3>\r\n  <cdk-virtual-scroll-viewport itemSize=\"30\" class=\"demo-infinite-container\">\r\n    <ul nz-list [nzDataSource]=\"batchEditWidget\" nzBordered nzSize=\"large\">\r\n      <nz-list-header><h4>选择编辑项</h4></nz-list-header>\r\n      <li nz-list-item *ngFor=\"let item of batchEditWidget\" nzNoFlex>\r\n        <ul nz-list-item-actions>\r\n          <nz-list-item-action>\r\n            <a (click)=\"editWidget(item.key,item.title)\">编辑</a>\r\n          </nz-list-item-action>\r\n        </ul>\r\n        {{ item.title }}\r\n      </li>\r\n    </ul>\r\n  </cdk-virtual-scroll-viewport>\r\n</nz-modal>\r\n\r\n<!--编辑组件弹窗-->\r\n<nz-modal [(nzVisible)]=\"showEditWidget\" (nzOnCancel)=\"showEditWidget=false\" [nzTitle]=\"widgetTitle\" [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          [nzOkLoading]=\"submitLoading\" (nzOnOk)=\"submitBatchEdit()\" nzWidth=\"600px\">\r\n  <div style=\"overflow: auto;\">\r\n    <form nz-form [formGroup]=\"batchEditForm\">\r\n      <input type=\"hidden\" nz-input formControlName=\"boardId\" />\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"24\">\r\n        <div [ngTemplateOutlet]=\"compTemplate\"></div>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</nz-modal>\r\n\r\n\r\n<ng-template #compTemplate>\r\n  <ng-container [ngSwitch]=\"widgetCode\">\r\n    <div *ngSwitchCase=\"'groupId'\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"6\" [nzXs]=\"20\">面板分组</nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" [nzXs]=\"20\" nzErrorTip=\"请选择面板分组\">\r\n          <nz-select [formControl]=\"batchEditForm.get('groupId')\" nzPlaceHolder=\"请选择面板分组\" nzAllowClear>\r\n            <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.title\" *ngFor=\"let item of boardGroupData\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div *ngSwitchCase=\"'operationOrgCode'\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"6\" nzRequired [nzXs]=\"20\">组织</nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" [nzXs]=\"20\" nzErrorTip=\"请选择组织\">\r\n          <nz-select [formControl]=\"batchEditForm.get('operationOrgCode')\" nzPlaceHolder=\"请选择组织\" (ngModelChange)=\"batchChangeDepartment($event)\">\r\n            <nz-option [nzValue]=\"item.code\" [nzLabel]=\"item.name\" *ngFor=\"let item of departmentOption\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"6\" [nzXs]=\"20\">班次</nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" [nzXs]=\"20\" nzErrorTip=\"请选择班次\">\r\n          <nz-select [formControl]=\"batchEditForm.get('workDefId')\" nzPlaceHolder=\"请选择班次\">\r\n            <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of workDefsOption\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"6\" [nzXs]=\"20\">岗位</nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" [nzXs]=\"20\">\r\n          <nz-select [formControl]=\"batchEditForm.get('operationRoleCodes')\" nzMode=\"multiple\" nzPlaceHolder=\"请选择岗位\">\r\n            <nz-option [nzValue]=\"item.roleId\" [nzLabel]=\"item.roleName\" *ngFor=\"let item of jobOptions\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n\r\n    <div *ngSwitchCase=\"'isAuth'\">\r\n      <nz-form-item>\r\n        <nz-form-label nzRequired [nzSm]=\"6\" [nzXs]=\"20\">是否需要授权</nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" nzErrorTip=\"请选择\" [nzXs]=\"20\">\r\n          <nz-select [formControl]=\"batchEditForm.get('isAuth')\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n            <nz-option [nzValue]=\"'0'\" [nzLabel]=\"'否'\"></nz-option>\r\n            <nz-option [nzValue]=\"'1'\" [nzLabel]=\"'是'\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div *ngSwitchCase=\"'createWayType'\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"6\" [nzXs]=\"20\" nzRequired>创建方式 <i style=\"font-size:13px\" nz-tooltip nzTooltipTitle=\"人工发起的规则进入任务池，不会自动生成任务。\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\"></i></nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" nzErrorTip=\"请选择\" [nzXs]=\"20\">\r\n          <nz-select [formControl]=\"batchEditForm.get('createWayType')\" nzPlaceHolder=\"请选择\" nzAllowClear>\r\n            <nz-option [nzValue]=\"'auto'\" [nzLabel]=\"'自动创建'\"></nz-option>\r\n            <nz-option [nzValue]=\"'manual'\" [nzLabel]=\"'人工发起'\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div *ngSwitchCase=\"'preTaskId'\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"6\" [nzXs]=\"20\">前置任务</nz-form-label>\r\n        <nz-form-control [nzSm]=\"12\" nzErrorTip=\"请选择\" [nzXs]=\"20\">\r\n          <nz-select [formControl]=\"batchEditForm.get('preTaskId')\" nzPlaceHolder=\"请选择\" [nzMode]=\"'multiple'\" nzAllowClear>\r\n            <nz-option [nzValue]=\"item.id\" [nzLabel]=\"item.name\" *ngFor=\"let item of preTaskOptions\"></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div *ngSwitchCase=\"'automation'\">\r\n      <nz-form-item>\r\n        <nz-form-control nzOffset=\"2\" [nzSm]=\"22\" [nzXs]=\"24\">\r\n          <app-set-scheduler #setScheduler [nfData]=\"schedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getBatchEditSchedulerData($event)\"></app-set-scheduler>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div *ngSwitchCase=\"'description'\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSm]=\"4\" nzRequired [nzXs]=\"24\">任务描述</nz-form-label>\r\n        <nz-form-control [nzSm]=\"20\" [nzXs]=\"24\" nzErrorTip=\"请输入任务描述\">\r\n            <textarea\r\n              nz-input\r\n              [formControl]=\"batchEditForm.get('description')\"\r\n              placeholder=\"请输入任务描述\"\r\n              [nzAutosize]=\"{ minRows: 2, maxRows: 6 }\"\r\n            ></textarea>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n  </ng-container>\r\n</ng-template>\r\n","styles":[".add-task,.task-config{height:500px;overflow:auto}.add-task /deep/nz-form-explain{bottom:-20px;color:#f5222d;left:0;position:absolute}.add-task /deep/.ant-form-item{margin-bottom:20px;position:relative}.add-task /deep/.recurrence-sentence-setter .ant-select{width:auto}.middle-line{background:#e1e1e1;height:1px;margin-bottom:12px}.add-task /deep/.ant-divider-horizontal{display:none}.add-task /deep/.scheduler-component-container{max-height:none}.add-task /deep/.ant-form-item-explain.ant-form-item-explain-error{position:absolute;top:29px}.task-management{background:100%}.task-oparte{background:#fff;padding:5px;position:relative;text-align:right}.row-oprate>i{cursor:pointer;font-size:18px;margin-right:8px}.ant-table tfoot>tr>td,.task-management /deep/.ant-table-thead>tr>th,.task-management /deep/.ant-table tfoot>tr>th{padding:12px 16px}.task-management /deep/.ant-table-tbody>tr>td{padding:10px 16px}.task-management /deep/.ant-table-wrapper{background:#fff}.task-management /deep/.ant-table-wrapper .ant-pagination{padding-right:15px}.config-oprate{color:#02a0ff;cursor:pointer}.config-oprate i{color:#02a0ff;font-size:16px}.operation-colum{background:#f9faff;border:1px solid #02a0ff;border-radius:3px;box-sizing:border-box;color:#02a0ff;display:block;float:left;font-size:12px;margin-right:2px;margin-top:1px;padding:2px 4px;white-space:nowrap}.workDef-colum{background:#56ccf2;border-radius:3px;color:#fff;font-size:12px;padding:2px 4px}.add-task-config-btn,.add-task-config-btn i{color:#2196f3;cursor:pointer}.add-task-config-btn i{font-size:16px}.set-item-label /deep/.ant-form-item-label label,.task-config /deep/.ant-table-placeholder{display:none}.add-task-status-btn,.add-task-status-item-btn{margin-bottom:5px;text-align:right}.add-task-status-btn,.add-task-status-btn i,.add-task-status-item-btn,.add-task-status-item-btn i{color:#2196f3}.chose-color{cursor:pointer}.chose-color i{color:#ccc;font-size:11px}.group-color-dialog{background:#fff;line-height:0;position:relative;width:110px}.group-color-dialog .group-color-item{border-radius:20%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.chose-color span{border:1px solid #ccc;border-radius:4px;color:#fff;display:inline-block;height:30px;line-height:30px;text-align:center;vertical-align:bottom;width:100px}.add-tag-btn{color:#2196f3;cursor:pointer;font-size:18px;margin-left:5px}::ng-deep .cdk-drag-preview{display:table}::ng-deep .cdk-drag-placeholder{opacity:0}::ng-deep .task-management .ant-table-row-indent+.ant-table-row-expand-icon{margin-top:3px!important}::ng-deep .add-task .ant-tag{max-width:100%;min-width:90px}.drop-switch{display:inline-block;margin:0 10px}.patch-edit-table{border:1px;width:550px}.patch-edit-table-tr{transition:all .25s cubic-bezier(.02,.01,.47,1)}.patch-edit-table-tr:hover{box-shadow:0 16px 32px 0 rgba(48,55,66,.15);transition-delay:0s!important}.demo-infinite-container{border:1px solid #e8e8e8;border-radius:4px;height:436px}.query-area{background:#fff;border-bottom:2px solid #f5f5f5;padding:5px 12px}"]}]}],"members":{"groupChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":238,"character":3},"arguments":["group"]}]}],"ChangeParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":3},"arguments":["taskSystemParameter"]}]}],"modelOrganizationNew":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":249,"character":3},"arguments":["modelOrganizationNew",{"static":true}]}]}],"modelOrganizationNewFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":250,"character":3},"arguments":["modelOrganizationNewFooter",{"static":true}]}]}],"viewTask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":251,"character":3},"arguments":["viewTask"]}]}],"viewTaskFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":252,"character":3},"arguments":["viewTaskFooter"]}]}],"setScheduler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":253,"character":3},"arguments":["setScheduler"]}]}],"setChildScheduler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":254,"character":3},"arguments":["setChildScheduler"]}]}],"taskConfigModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":255,"character":3},"arguments":["taskConfigModal"]}]}],"taskConfigFooterModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":256,"character":3},"arguments":["taskConfigFooterModal"]}]}],"reportConfigModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":257,"character":3},"arguments":["reportConfigModal"]}]}],"reportConfigFooterModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":258,"character":3},"arguments":["reportConfigFooterModal"]}]}],"addChildTaskModal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":259,"character":3},"arguments":["addChildTaskModal"]}]}],"addChildTaskModalFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":260,"character":3},"arguments":["addChildTaskModalFooter"]}]}],"viewChildTask":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":261,"character":3},"arguments":["viewChildTask"]}]}],"viewChildTaskFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":262,"character":3},"arguments":["viewChildTaskFooter"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":264,"character":26},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":265,"character":16},{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":267,"character":21},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":268,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"transferChildren":[{"__symbolic":"method"}],"getDepartment":[{"__symbolic":"method"}],"queryChange":[{"__symbolic":"method"}],"pageIndexChange":[{"__symbolic":"method"}],"pageSizeChange":[{"__symbolic":"method"}],"addTask":[{"__symbolic":"method"}],"addHandle":[{"__symbolic":"method"}],"addCancel":[{"__symbolic":"method"}],"viewHandle":[{"__symbolic":"method"}],"viewTaskDetail":[{"__symbolic":"method"}],"viewChildTaskDetail":[{"__symbolic":"method"}],"editHandle":[{"__symbolic":"method"}],"editTask":[{"__symbolic":"method"}],"editChildTask":[{"__symbolic":"method"}],"deleteTask":[{"__symbolic":"method"}],"changeDepartment":[{"__symbolic":"method"}],"changeOperationRole":[{"__symbolic":"method"}],"changeRelevance":[{"__symbolic":"method"}],"changeDepartmentForSearch":[{"__symbolic":"method"}],"getWorks":[{"__symbolic":"method"}],"getAudit":[{"__symbolic":"method"}],"getIndicatorList":[{"__symbolic":"method"}],"getJob":[{"__symbolic":"method"}],"getLeader":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"getDictionaryOption":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"convertTreeToList":[{"__symbolic":"method"}],"visitNode":[{"__symbolic":"method"}],"addTaskStatusConfig":[{"__symbolic":"method"}],"addTaskConfig":[{"__symbolic":"method"}],"editTaskOption":[{"__symbolic":"method"}],"deleteTaskOption":[{"__symbolic":"method"}],"addConfigConfirm":[{"__symbolic":"method"}],"addTaskStatusConfirm":[{"__symbolic":"method"}],"addReportConfigConfirm":[{"__symbolic":"method"}],"addConfigCancel":[{"__symbolic":"method"}],"addTaskStatusCancel":[{"__symbolic":"method"}],"operationCodeChange":[{"__symbolic":"method"}],"addOption":[{"__symbolic":"method"}],"deleteOption":[{"__symbolic":"method"}],"addReportConfig":[{"__symbolic":"method"}],"deleteReportConfig":[{"__symbolic":"method"}],"editReportConfig":[{"__symbolic":"method"}],"addChildTaskOperate":[{"__symbolic":"method"}],"addChildTaskConfirm":[{"__symbolic":"method"}],"addChildTaskCancel":[{"__symbolic":"method"}],"getChildSchedulerData":[{"__symbolic":"method"}],"openAddStatusList":[{"__symbolic":"method"}],"editStatusList":[{"__symbolic":"method"}],"removeStatusList":[{"__symbolic":"method"}],"beforeDrop":[{"__symbolic":"method"}],"sortOnOk":[{"__symbolic":"method"}],"genID":[{"__symbolic":"method"}],"handleInspectionClose":[{"__symbolic":"method"}],"openInspectionDialog":[{"__symbolic":"method"}],"taskRoutingInspectionChange":[{"__symbolic":"method"}],"handleInspectionOk":[{"__symbolic":"method"}],"handleInspectionCancel":[{"__symbolic":"method"}],"quickAddStatus":[{"__symbolic":"method"}],"getReportData":[{"__symbolic":"method"}],"onCurrentPageDataChange":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"getAuditBoardsData":[{"__symbolic":"method"}],"getIndicatorBoardsData":[{"__symbolic":"method"}],"auditBoardChange":[{"__symbolic":"method"}],"indicatorBoardChange":[{"__symbolic":"method"}],"addAuditConfig":[{"__symbolic":"method"}],"addMonitorConfig":[{"__symbolic":"method"}],"handleAddAuditOk":[{"__symbolic":"method"}],"handleAddAuditCancel":[{"__symbolic":"method"}],"handleAddMonitorOk":[{"__symbolic":"method"}],"handleAddMonitorCancel":[{"__symbolic":"method"}],"auditItemChange":[{"__symbolic":"method"}],"indicatorItemChange":[{"__symbolic":"method"}],"handleAuditTagsClose":[{"__symbolic":"method"}],"handleMonitorTagsClose":[{"__symbolic":"method"}],"batchDeleteTask":[{"__symbolic":"method"}],"batchEdit":[{"__symbolic":"method"}],"editWidget":[{"__symbolic":"method"}],"submitBatchEdit":[{"__symbolic":"method"}],"batchChangeDepartment":[{"__symbolic":"method"}],"getBatchEditSchedulerData":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"taskDatestartChange":[{"__symbolic":"method"}],"taskDateEndChange":[{"__symbolic":"method"}]}},"ɵei":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-set-scheduler","providers":[{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":9,"character":14}],"template":"<div class=\"condition-container\">\r\n  <!-- begin -->\r\n  <div class=\"scheduler-component-wrapper\">\r\n    <div class=\"scheduler-component-header\">\r\n      <nz-radio-group [(ngModel)]=\"schedulerRadioValue\" (ngModelChange)=\"schedulerRadioChange($event)\">\r\n        <label nz-radio-button nzValue=\"daily\">日</label>\r\n        <label nz-radio-button nzValue=\"weekly\">周</label>\r\n        <label nz-radio-button nzValue=\"monthly\">月</label>\r\n        <label nz-radio-button nzValue=\"months\">指定月</label>\r\n      </nz-radio-group>\r\n    </div>\r\n    <div class=\"scheduler-component-container\">\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'daily'\">\r\n        <div class=\"recurrence-sentence-wrapper\">\r\n          <div class=\"recurrence-sentence-setter\">\r\n            <span class=\"recurrence-sentence\">每 </span>\r\n            <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerDailyOccurrences\" />\r\n            <span class=\"recurrence-sentence\" *ngIf=\"!dateTypeEnable\">天的</span>\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              <span class=\"recurrence-sentence\">个 </span>\r\n              <nz-select class=\"width-per-25\" [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange($event)\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n              </nz-select>\r\n              <!-- <span class=\"recurrence-sentence\"> 的 </span> -->\r\n            </ng-container>\r\n            <!-- <div class=\"hour-select-container\">\r\n              <div class=\"hour-select\">\r\n                <nz-time-picker [(ngModel)]=\"schedulerDailyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\"></nz-time-picker>\r\n              </div>\r\n            </div> -->\r\n          </div>\r\n        </div>\r\n        <div class=\"recurrence-sentence-preview\">\r\n          <!-- <ng-container *ngIf=\"!dateTypeEnable\">\r\n            {{'每 ' + schedulerDailyOccurrences + ' 天的 ' + (schedulerDailyTimeValue | date: 'HH:mm:ss')}}\r\n          </ng-container> -->\r\n          <ng-container *ngIf=\"dateTypeEnable\">\r\n            {{'每 ' + schedulerDailyOccurrences + ' 个 ' + schedulerDateTypeText}}\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'weekly'\">\r\n        <div class=\"scheduler-tab-wrapper Weekly\">\r\n          <div class=\"scheduler-grid\">\r\n            <div *ngFor=\"let item of schedulerWeeklyList\" class=\"scheduler-grid-item\" (click)=\"schedulerWeeklyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-wrapper\">\r\n            <div class=\"recurrence-sentence-setter\">\r\n              <span class=\"recurrence-sentence\">从 </span>\r\n              <nz-date-picker nz-tooltip nzTooltipTitle=\"不选日期则从每年的第一周开始计算\" style=\"width:110px\" [(ngModel)]=\"startDate\" (ngModelChange)=\"startDateOnChange($event)\"></nz-date-picker>\r\n              <span class=\"recurrence-sentence\"> 起，</span>\r\n              <span class=\"recurrence-sentence\">每</span>\r\n<!--              <input style=\"width:40px\" class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerWeeklyOccurrences\" />-->\r\n              <span class=\"recurrence-sentence\" *ngIf=\"!dateTypeEnable\">周的</span>\r\n              <ng-container *ngIf=\"dateTypeEnable\">\r\n                <span class=\"recurrence-sentence\">周</span>\r\n<!--                <span class=\"recurrence-sentence\">周属于 </span>-->\r\n<!--                <nz-select [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange()\">-->\r\n<!--                  <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>-->\r\n<!--                </nz-select>-->\r\n                 <span class=\"recurrence-sentence\">的 </span>\r\n                <ng-container *ngIf=\"!schedulerWeeklyMergeText\">\r\n                  <nz-select style=\"width:70px\" [(ngModel)]=\"schedulerDayType\" (ngModelChange)=\"schedulerDayTypeChange()\">\r\n                    <nz-option *ngFor=\"let o of dayTypes\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                  </nz-select>\r\n<!--                  <nz-input-number  style=\"width:60px !important;margin-left:5px\" [(ngModel)]=\"schedulerDayValue\" [nzMin]=\"1\" [nzMax]=\"31\" [nzStep]=\"1\"></nz-input-number>-->\r\n                  <input style=\"width:50px;margin-left:5px\" nz-input nz-tooltip nzTooltipTitle=\"多天请以半角逗号隔开(1,2,3)\" [(ngModel)]=\"schedulerDayValue\" /> 天<span>，如遇非交易日 </span>\r\n                  <nz-select style=\"width:90px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"holidayHandleWay\" (ngModelChange)=\"holidayHandleWayChange($event)\">\r\n                    <nz-option *ngFor=\"let o of holidayHandleWayOperation\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                  </nz-select>\r\n<!--                  <nz-select [(ngModel)]=\"schedulerDayType\" (ngModelChange)=\"schedulerDayTypeChange()\">-->\r\n<!--                    <nz-option *ngFor=\"let o of dayTypes\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>-->\r\n<!--                  </nz-select>-->\r\n                </ng-container>\r\n                <ng-container *ngIf=\"schedulerWeeklyMergeText\">\r\n                  {{schedulerWeeklyMergeText}}<span>，如遇非交易日 </span>\r\n                  <nz-select style=\"width:90px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"holidayHandleWay\" (ngModelChange)=\"holidayHandleWayChange($event)\">\r\n                    <nz-option *ngFor=\"let o of holidayHandleWayOperation\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                  </nz-select>\r\n                </ng-container>\r\n              </ng-container>\r\n              <!-- <div class=\"hour-select-container\">\r\n                <div class=\"hour-select\">\r\n                  <nz-time-picker [(ngModel)]=\"schedulerWeeklyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\"></nz-time-picker>\r\n                </div>\r\n              </div> -->\r\n            </div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-preview\">\r\n            <!-- <ng-container *ngIf=\"!dateTypeEnable\">\r\n              {{'每 ' + schedulerWeeklyOccurrences + ' 周的 ' + schedulerWeeklyMergeText + (schedulerWeeklyTimeValue | date: 'HH:mm:ss')}}\r\n            </ng-container> -->\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              <ng-container *ngIf=\"schedulerWeeklyMergeText\">\r\n                {{startDate?'从 '+startDate+' 起，每周的' +\r\n                schedulerWeeklyMergeText + '，如遇非交易日 ' + this.holidayHandleWayText:'每周的 ' +\r\n                schedulerWeeklyMergeText + '，如遇非交易日 ' + this.holidayHandleWayText}}\r\n              </ng-container>\r\n              <ng-container *ngIf=\"!schedulerWeeklyMergeText\">\r\n                {{startDate?'从 '+startDate+' 起，每周的' +\r\n                schedulerDayTypeText + ' ' + schedulerDayValue + ' 天，如遇非交易日 ' + this.holidayHandleWayText:'每周的' +\r\n                schedulerDayTypeText + ' ' + schedulerDayValue + ' 天，如遇非交易日 ' + this.holidayHandleWayText}}\r\n              </ng-container>\r\n<!--              <ng-container *ngIf=\"schedulerWeeklyMergeText\">-->\r\n<!--                {{startDate?'从 '+startDate+' 起，每 ' + schedulerWeeklyOccurrences + ' 周 属于 ' + schedulerDateTypeText + ' 的 ' +-->\r\n<!--                schedulerWeeklyMergeText:'每 ' + schedulerWeeklyOccurrences + ' 周 属于 ' + schedulerDateTypeText + ' 的 ' +-->\r\n<!--                schedulerWeeklyMergeText}}-->\r\n<!--              </ng-container>-->\r\n<!--              <ng-container *ngIf=\"!schedulerWeeklyMergeText\">-->\r\n<!--                {{startDate?'从 '+startDate+' 起，每 ' + schedulerWeeklyOccurrences + ' 周 属于 ' + schedulerDateTypeText + ' 的 ' +-->\r\n<!--                schedulerDayTypeText + ' ' + schedulerDayValue + ' 天':'每 ' + schedulerWeeklyOccurrences + ' 周 属于 ' + schedulerDateTypeText + ' 的 ' +-->\r\n<!--                schedulerDayTypeText + ' ' + schedulerDayValue + ' 天'}}-->\r\n<!--              </ng-container>-->\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'monthly'\">\r\n        <div class=\"scheduler-tab-wrapper Monthly\">\r\n          <div class=\"scheduler-grid\">\r\n            <div *ngFor=\"let item of schedulerMonthlyList\" class=\"scheduler-grid-item\" (click)=\"schedulerMonthlyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-wrapper\">\r\n            <div class=\"recurrence-sentence-setter\">\r\n              <span class=\"recurrence-sentence\">从 </span>\r\n              <nz-date-picker nz-tooltip nzTooltipTitle=\"不选日期则从每年的第一月开始计算\" style=\"width:110px\" [(ngModel)]=\"startDate\" (ngModelChange)=\"startDateOnChange($event)\"></nz-date-picker>\r\n              <span class=\"recurrence-sentence\"> 起，</span>\r\n              <span class=\"recurrence-sentence\">每</span>\r\n<!--              <input class=\"recurrence-numeric-input\" [nzSize]=\"'small'\" nz-input placeholder=\"1\" [(ngModel)]=\"schedulerMonthlyOccurrences\" />-->\r\n              <span class=\"recurrence-sentence\" *ngIf=\"!dateTypeEnable\">月的</span>\r\n              <ng-container *ngIf=\"dateTypeEnable\">\r\n                <ng-container *ngIf=\"schedulerMonthlyMergeText\">\r\n                  <span class=\"recurrence-sentence\">月的 </span>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"!schedulerMonthlyMergeText\">\r\n                  <span class=\"recurrence-sentence\">月属于 </span>\r\n                  <nz-select style=\"width:90px\" [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange($event)\">\r\n                    <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n                  </nz-select>\r\n                  <span class=\"recurrence-sentence\"> 的 </span>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"!schedulerMonthlyMergeText\">\r\n                  <nz-select style=\"width:70px\" [(ngModel)]=\"schedulerDayType\" (ngModelChange)=\"schedulerDayTypeChange()\">\r\n                    <nz-option *ngFor=\"let o of dayTypes\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                  </nz-select>\r\n<!--                  <nz-input-number  style=\"width:60px !important;margin-left:5px\" [(ngModel)]=\"schedulerDayValue\" [nzMin]=\"1\" [nzMax]=\"31\" [nzStep]=\"1\"></nz-input-number> 天-->\r\n                  <input style=\"width:50px;margin-left:5px\" nz-input nz-tooltip nzTooltipTitle=\"多天请以半角逗号隔开(1,2,3)\" [(ngModel)]=\"schedulerDayValue\" /> 天\r\n                  <ng-container *ngIf=\"schedulerDateType !== 'workdays'\">\r\n                  <span>，如遇非交易日 </span>\r\n                  <nz-select style=\"width:90px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"holidayHandleWay\" (ngModelChange)=\"holidayHandleWayChange($event)\">\r\n                    <nz-option *ngFor=\"let o of holidayHandleWayOperation\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                  </nz-select>\r\n                  </ng-container>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"schedulerMonthlyMergeText\">\r\n                  {{schedulerMonthlyMergeText}}\r\n                  <span>，如遇非交易日 </span>\r\n                  <nz-select style=\"width:90px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"holidayHandleWay\" (ngModelChange)=\"holidayHandleWayChange($event)\">\r\n                    <nz-option *ngFor=\"let o of holidayHandleWayOperation\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                  </nz-select>\r\n                </ng-container>\r\n              </ng-container>\r\n              <!-- <div class=\"hour-select-container\">\r\n                <div class=\"hour-select\">\r\n                  <nz-time-picker [(ngModel)]=\"schedulerMonthlyTimeValue\" nzFormat=\"HH:mm:ss\" [nzAllowEmpty]=\"false\"></nz-time-picker>\r\n                </div>\r\n              </div> -->\r\n            </div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-preview\">\r\n            <!-- <ng-container *ngIf=\"!dateTypeEnable\">\r\n              {{'每 ' + schedulerMonthlyOccurrences + ' 月的 ' + schedulerMonthlyMergeText + ' ' + (schedulerMonthlyTimeValue | date: 'HH:mm:ss')}}\r\n            </ng-container> -->\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              <ng-container *ngIf=\"schedulerMonthlyMergeText\">\r\n                {{(startDate?'从 '+startDate+' 起':'') + '每月的 ' +\r\n              schedulerMonthlyMergeText + '，如遇非交易日 ' + this.holidayHandleWayText}}\r\n              </ng-container>\r\n              <ng-container *ngIf=\"!schedulerMonthlyMergeText\">\r\n                {{(startDate?'从 '+startDate+' 起':'') + '每月属于 ' + schedulerDateTypeText + ' 的 ' +\r\n              schedulerDayTypeText + ' ' + schedulerDayValue + ' 天' + (schedulerDateType == 'workdays'?'':'，如遇非交易日 ' + this.holidayHandleWayText)}}\r\n              </ng-container>\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"scheduler-component-container-inner\" *ngIf=\"schedulerRadioValue == 'months'\">\r\n        <div class=\"scheduler-tab-wrapper Monthly\">\r\n          <div class=\"scheduler-grid\">\r\n            <div *ngFor=\"let item of schedulerMonthlyList\" class=\"scheduler-grid-item\" (click)=\"schedulerMonthlyTextChange(item)\" [ngClass]=\"{'selected-item': item.select}\">{{item.label}}</div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-wrapper\">\r\n            <div class=\"recurrence-sentence-setter\">\r\n              <nz-select\r\n                style=\"width: 250px\"\r\n                nzMode=\"multiple\"\r\n                nzAllowClear\r\n                nzPlaceHolder=\"请选择月份\"\r\n                (ngModelChange)=\"monthsChange($event)\"\r\n                [(ngModel)]=\"months\">\r\n                <nz-option *ngFor=\"let o of monthsOperation\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\"></nz-option>\r\n              </nz-select> 属于\r\n              <nz-select style=\"width:90px\" [(ngModel)]=\"schedulerDateType\" (ngModelChange)=\"schedulerDateTypeChange($event)\">\r\n                <nz-option *ngFor=\"let dateType of dateTypes\" [nzValue]=\"dateType.value\" [nzLabel]=\"dateType.label\"></nz-option>\r\n              </nz-select> 的\r\n              <nz-select style=\"width:70px;margin-left:5px\" [(ngModel)]=\"schedulerDayType\" (ngModelChange)=\"schedulerDayTypeChange()\">\r\n                <nz-option *ngFor=\"let o of dayTypes\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n              </nz-select>\r\n              {{schedulerMonthlyMergeText}}\r\n              <ng-container *ngIf=\"schedulerDateType !== 'workdays'\">\r\n                <span>，如遇非交易日 </span>\r\n                <nz-select style=\"width:90px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"holidayHandleWay\" (ngModelChange)=\"holidayHandleWayChange($event)\">\r\n                  <nz-option *ngFor=\"let o of holidayHandleWayOperation\" [nzValue]=\"o.value\" [nzLabel]=\"o.label\"></nz-option>\r\n                </nz-select>\r\n              </ng-container>\r\n            </div>\r\n          </div>\r\n          <div class=\"recurrence-sentence-preview\">\r\n            <ng-container *ngIf=\"dateTypeEnable\">\r\n              {{monthsText}} 属于 {{schedulerDateTypeText}} 的 {{schedulerDayTypeText}} {{schedulerMonthlyMergeText}} <ng-container *ngIf=\"schedulerDateType !== 'workdays'\"><span>，如遇非交易日 </span>{{this.holidayHandleWayText}}</ng-container>\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <!-- end -->\r\n  <div style=\"margin:10px 0\"><nz-divider></nz-divider></div>\r\n  <!-- <div class=\"scheduler-button\"><button (click)=\"schedulerOnSubmit()\" nz-button nzType=\"primary\">确定</button></div> -->\r\n</div>\r\n","styles":["::ng-deep .scheduler-component-wrapper .ant-radio-button-wrapper{text-align:center;width:104px}.scheduler-component-container{max-height:260px;overflow-y:auto}.scheduler-component-container .recurrence-sentence-setter{margin-bottom:8px;margin-left:8px;margin-top:16px}.scheduler-component-container .recurrence-sentence-setter .recurrence-numeric-input{border-radius:2px;display:inline-block;height:31px;margin-left:8px;margin-right:8px;outline:none;padding:6px;text-align:center;width:60px}.scheduler-component-container .recurrence-sentence-setter .recurrence-sentence{display:inline}.hour-select-container{display:inline-block}.hour-select-container .hour-select{margin-left:8px;width:130px}::ng-deep .scheduler-component-container .ant-time-picker{width:120px}.scheduler-component-container .recurrence-sentence-preview{color:grey;font-size:12px;line-height:20px;margin-left:8px;margin-right:8px;margin-top:16px}.scheduler-component-container .scheduler-tab-wrapper.Weekly{max-height:150px;min-height:130px}.scheduler-component-container .scheduler-tab-wrapper{justify-content:flex-start;transition:max-height .15s,min-height .15s}.scheduler-grid{display:flex;flex-wrap:wrap;justify-content:felx-start;margin-left:5px;margin-top:8px;width:310px}.scheduler-grid .scheduler-grid-item{cursor:pointer;display:flex;font-size:13px;height:35px;justify-content:center;line-height:35px;margin:2px 4px;vertical-align:middle;width:35px}.scheduler-grid .scheduler-grid-item:hover{background-color:#009aff;border-radius:38px;color:#fff}.scheduler-grid .selected-item{background-color:rgba(0,154,255,.15);border-radius:100px;color:#009aff;font-weight:bolder}.recurrence-sentence-preview{width:auto}.scheduler-button{text-align:center}.width-per-25{width:25%}"]}]}],"members":{"dateTypeEnable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3},"arguments":["nfData"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":151,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":155,"character":21},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":156,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"schedulerInit":[{"__symbolic":"method"}],"schedulerRadioChange":[{"__symbolic":"method"}],"schedulerDateTypeChange":[{"__symbolic":"method"}],"schedulerDayTypeChange":[{"__symbolic":"method"}],"schedulerWeeklyTextChange":[{"__symbolic":"method"}],"schedulerWeeklyMerge":[{"__symbolic":"method"}],"schedulerMonthlyTextChange":[{"__symbolic":"method"}],"schedulerMonthlyMerge":[{"__symbolic":"method"}],"schedulerOnSubmit":[{"__symbolic":"method"}],"startDateOnChange":[{"__symbolic":"method"}],"holidayHandleWayChange":[{"__symbolic":"method"}],"monthsChange":[{"__symbolic":"method"}],"getDictionariesText":[{"__symbolic":"method"}]}},"ɵej":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-integrate-supervisory-creat","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 当监听到 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"supervisoryVisible\" [nzPopoverContent]=\"supervisoryTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': supervisoryId}\">{{supervisoryDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #supervisoryTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择监控项</div>\r\n                      <nz-select style=\"width:200px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"supervisoryId\" (ngModelChange)=\"supervisoryChange($event)\" nzAllowClear nzShowSearch>\r\n                        <nz-option *ngFor=\"let data of supervisoryData\" [nzValue]=\"data.id\" [nzLabel]=\"data.name\"></nz-option>\r\n                      </nz-select>\r\n<!--                      <div style=\"height: 300px;overflow-y: auto\">-->\r\n<!--                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == supervisoryId}\" *ngFor=\"let data of supervisoryData\" (click)=\"supervisoryChange(data)\">-->\r\n<!--                          <div class=\"column-icon\">-->\r\n<!--                            <span class=\"column-type-icon\">-->\r\n<!--                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                            </span>-->\r\n<!--                          </div>-->\r\n<!--                          <div class=\"column-title\">{{data.name}}</div>-->\r\n<!--                        </div>-->\r\n<!--                      </div>-->\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的状态为 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"supervisoryStatusVisible\" [nzPopoverContent]=\"supervisoryStatusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': supervisoryStatus}\">{{supervisoryStatusText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #supervisoryStatusTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == supervisoryStatus}\" *ngFor=\"let data of supervisoryStatusData\" (click)=\"supervisoryStatusChange(data)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{data.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [dataId]=\"supervisoryId\"\r\n      [dataSource]=\"'indicator'\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":43,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":47,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"supervisoryChange":[{"__symbolic":"method"}],"supervisoryStatusChange":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getIndicatorItemsData":[{"__symbolic":"method"}],"getTaskRuleListData":[{"__symbolic":"method"}],"onTaskChange":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}]}},"ɵek":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-integrate-supervisory-task-rule-creat","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 当监听到 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"supervisoryVisible\" [nzPopoverContent]=\"supervisoryTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': supervisoryId}\">{{supervisoryDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #supervisoryTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择监控项</div>\r\n                      <div style=\"height: 300px;overflow-y: auto\">\r\n                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == supervisoryId}\" *ngFor=\"let data of supervisoryData\" (click)=\"supervisoryChange(data)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{data.name}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的状态为 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"supervisoryStatusVisible\" [nzPopoverContent]=\"supervisoryStatusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': supervisoryStatus}\">{{supervisoryStatusText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #supervisoryStatusTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == supervisoryStatus}\" *ngFor=\"let data of supervisoryStatusData\" (click)=\"supervisoryStatusChange(data)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{data.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 </span>\r\n<!--                <span class=\"automations-editor-field-term-component  in-editor\">-->\r\n<!--                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"operationOrgVisible\" [nzPopoverContent]=\"departmentConditionTemplate\">-->\r\n<!--                    <div class=\"ds-text-component\">-->\r\n<!--                      <span [ngClass]=\"{'selected': operationOrgCode}\">{{operationOrgDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                  </div>-->\r\n<!--                  <ng-template #departmentConditionTemplate>-->\r\n<!--                    <div class=\"condition-container\" style=\"max-height: 300px;overflow-y: auto;\">-->\r\n<!--                      <div class=\"field-title\">选择部门</div>-->\r\n<!--                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == operationOrgCode}\" *ngFor=\"let data of operationOrgData\" (click)=\"operationOrgChange(data)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{data.name}}</div>-->\r\n<!--                      </div>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-template>-->\r\n<!--                </span>-->\r\n<!--                <span class=\"automations-editor-text-term-component\"> 及 </span>-->\r\n<!--                <span class=\"automations-editor-field-term-component  in-editor\">-->\r\n<!--                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"operationRoleVisible\" [nzPopoverContent]=\"workDefConditionTemplate\">-->\r\n<!--                    <div class=\"ds-text-component\">-->\r\n<!--                      <span [ngClass]=\"{'selected': operationRoleCode}\">{{operationRoleDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                  </div>-->\r\n<!--                  <ng-template #workDefConditionTemplate>-->\r\n<!--                    <div class=\"condition-container\" style=\"max-height: 300px;overflow-y: auto;\">-->\r\n<!--                      <div class=\"field-title\">选择岗位</div>-->\r\n<!--                      <ng-container *ngIf=\"operationRoleData.length > 0\">-->\r\n<!--                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.roleId == operationRoleCode}\" *ngFor=\"let data of operationRoleData\" (click)=\"operationRoleChange(data)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{data.roleName}}</div>-->\r\n<!--                      </div>-->\r\n<!--                      </ng-container>-->\r\n<!--                      <ng-container *ngIf=\"operationRoleData.length == 0\">-->\r\n<!--                        请先选择部门-->\r\n<!--                      </ng-container>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-template>-->\r\n<!--                </span>-->\r\n<!--                <span class=\"automations-editor-field-term-component  in-editor\">-->\r\n<!--                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">-->\r\n<!--                    <div class=\"ds-text-component\">-->\r\n<!--                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>-->\r\n<!--                    </div>-->\r\n<!--                  </div>-->\r\n<!--                  <ng-template #groupConditionTemplate>-->\r\n<!--                    <div class=\"condition-container\">-->\r\n<!--                      <div class=\"field-title\">选择分组</div>-->\r\n<!--                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">-->\r\n<!--                        <div class=\"column-icon\">-->\r\n<!--                          <span class=\"column-type-icon\">-->\r\n<!--                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n<!--                          </span>-->\r\n<!--                        </div>-->\r\n<!--                        <div class=\"column-title\">{{group.title}}</div>-->\r\n<!--                      </div>-->\r\n<!--                    </div>-->\r\n<!--                  </ng-template>-->\r\n<!--                </span>-->\r\n                <span class=\"automations-editor-text-term-component\">，根据 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"taskVisible\" [nzPopoverContent]=\"taskTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span class=\"no-change-text\">{{taskText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #taskTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择任务规则 <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" nz-tooltip nzTooltipTitle=\"只显示手工发起的任务规则\"></i></div>\r\n                      <div class=\"task-rule-list\">\r\n                        <nz-tree-select\r\n                          nzAllowClear\r\n                          style=\"width: 250px\"\r\n                          [(ngModel)]=\"taskDefId\"\r\n                          [nzNodes]=\"nodes\"\r\n                          (ngModelChange)=\"onTaskChange($event)\"\r\n                          nzShowSearch\r\n                          nzPlaceHolder=\"请选择\"\r\n                        ></nz-tree-select>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [dataId]=\"supervisoryId\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":62,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":63,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":65,"character":21},{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"supervisoryChange":[{"__symbolic":"method"}],"supervisoryStatusChange":[{"__symbolic":"method"}],"getIndicatorItemsData":[{"__symbolic":"method"}],"getTaskRuleListData":[{"__symbolic":"method"}],"onTaskChange":[{"__symbolic":"method"}],"listConvertTree":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}]}},"ɵel":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-create-task-by-indicator-abnormal-status","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 当监听到 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"supervisoryVisible\" [nzPopoverContent]=\"supervisoryTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': supervisoryId}\">{{supervisoryDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #supervisoryTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择监控项</div>\r\n                      <nz-select style=\"width:200px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"supervisoryId\" (ngModelChange)=\"supervisoryChange($event)\" nzAllowClear nzShowSearch>\r\n                        <nz-option *ngFor=\"let data of supervisoryData\" [nzValue]=\"data.id\" [nzLabel]=\"data.name\"></nz-option>\r\n                      </nz-select>\r\n                      <!--                      <div style=\"height: 300px;overflow-y: auto\">-->\r\n                      <!--                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == supervisoryId}\" *ngFor=\"let data of supervisoryData\" (click)=\"supervisoryChange(data)\">-->\r\n                      <!--                          <div class=\"column-icon\">-->\r\n                      <!--                            <span class=\"column-type-icon\">-->\r\n                      <!--                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                      <!--                            </span>-->\r\n                      <!--                          </div>-->\r\n                      <!--                          <div class=\"column-title\">{{data.name}}</div>-->\r\n                      <!--                        </div>-->\r\n                      <!--                      </div>-->\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的状态为 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"supervisoryStatusVisible\" [nzPopoverContent]=\"supervisoryStatusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': supervisoryStatus}\">{{supervisoryStatusText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #supervisoryStatusTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == supervisoryStatus}\" *ngFor=\"let data of supervisoryStatusData\" (click)=\"supervisoryStatusChange(data)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{data.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 且满足 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover [(nzPopoverVisible)]=\"conditionVisible\" (nzPopoverVisibleChange)=\"conditionPopChange()\" nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"conditionContentTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"automation.conditions.length > 0 ? 'selected':''\">条件</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #conditionContentTemplate>\r\n                    <nf-field-condition\r\n                      [supervisoryId]=\"supervisoryId\"\r\n                      [column]=\"boardColumnData\"\r\n                      [source]=\"source\"\r\n                      [automation]=\"automation\"></nf-field-condition>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [dataId]=\"supervisoryId\"\r\n      [dataSource]=\"'indicator'\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":51,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":55,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"supervisoryChange":[{"__symbolic":"method"}],"supervisoryStatusChange":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getIndicatorItemsData":[{"__symbolic":"method"}],"getTaskRuleListData":[{"__symbolic":"method"}],"onTaskChange":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}],"getConditionData":[{"__symbolic":"method"}],"conditionPopChange":[{"__symbolic":"method"}]}},"ɵem":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-task-abnormal-statistics","template":"<div class=\"task-abnormal-statistics-component\">\r\n<!--  <nz-badge nz-tooltip nzTooltipTitle=\"正常项\" nzColor=\"#87d068\" [nzText]=\"5\"></nz-badge>-->\r\n<!--  <nz-badge style=\"margin-left:15px\" nz-tooltip nzTooltipTitle=\"异常项\" nzColor=\"red\" [nzText]=\"5\"></nz-badge>-->\r\n<!--  <nz-badge style=\"margin-left:15px\" nz-tooltip nzTooltipTitle=\"总计\" nzColor=\"#108ee9\" [nzText]=\"10\"></nz-badge>-->\r\n  <span *ngIf=\"indicatorExceptionCount\" style=\"margin:0 5px\"><nz-badge nzColor=\"red\" nzText=\"监控：{{indicatorExceptionCount}}\"></nz-badge></span>\r\n  <span *ngIf=\"auditExceptionCount\" style=\"margin:0 5px\"><nz-badge nzColor=\"red\" nzText=\"稽核：{{auditExceptionCount}}\"></nz-badge></span>\r\n</div>\r\n","styles":[".task-abnormal-statistics-component{text-align:center}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3},"arguments":["nfPulseData"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":42,"character":21},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"handleExceptionCount":[{"__symbolic":"method"}]}},"ɵen":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"nf-task-execute-time","template":"<div class=\"task-execute-time-component\">\r\n  <div style=\"font-size:11px\" *ngIf=\"this.pulse.columnValues[this.column.id] && this.pulse.columnValues[this.column.id].previousExecutionTime && this.pulse.columnValues[this.column.id].previousExecutionTime !== 0\"><i nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i> 上次执行时间：{{this.pulse.columnValues[this.column.id].previousExecutionTime | date: 'HH:mm'}}</div>\r\n  <div style=\"font-size:11px\" *ngIf=\"this.pulse.columnValues[this.column.id] && this.pulse.columnValues[this.column.id].nextExecutionTime && this.pulse.columnValues[this.column.id].nextExecutionTime !== 0\"><i nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i> 下次执行时间：{{this.pulse.columnValues[this.column.id].nextExecutionTime | date: 'HH:mm'}}</div>\r\n  <div style=\"font-size:11px\" *ngIf=\"this.pulse.columnValues[this.column.id] && this.pulse.columnValues[this.column.id].consumeTime && this.pulse.columnValues[this.column.id].consumeTime !== 0\"><i nz-icon nzType=\"clock-circle\" nzTheme=\"outline\"></i> 执行耗时：{{this.pulse.columnValues[this.column.id].consumeTime | date: 'HH:mm'}}</div>\r\n</div>\r\n","styles":[".task-execute-time-component{line-height:18px;padding:0 10px}"]}]}],"members":{"ChangeBoardData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3},"arguments":["nfBoardData"]}]}],"ChangeColumnData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3},"arguments":["nfColumnData"]}]}],"ChangePulseData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3},"arguments":["nfPulseData"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":40,"character":21},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵeo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":27,"character":1},"arguments":[{"selector":"task-log-grid","providers":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":31,"character":27}],"template":"<div class=\"application\">\r\n  <div id=\"first-level-content\" class=\"first-level-content\">\r\n    <div class=\"tree-table-component\">\r\n      <div class=\"task-statistics-component\" *ngIf=\"taskStatisticsVisible\">\r\n        <div class=\"task-statistics-item\" *ngFor=\"let item of boardStatisticList\">\r\n          <nz-progress [nzPercent]=\"item.progress\" nzType=\"circle\" [nzWidth]=\"50\"></nz-progress>\r\n          <span nz-tooltip nzTooltipTitle=\"{{item.groupName}}\">{{item.groupName}}</span>\r\n        </div>\r\n      </div>\r\n      <div class=\"tree-table-tabs\">\r\n        <nz-tabset [(nzSelectedIndex)]=\"selectedIndex\" [nzTabBarExtraContent]=\"extraTemplate\" (nzSelectedIndexChange)=\"tabSelectedIndexChange($event)\">\r\n          <nz-tab (nzSelect)=\"getActiveGroup(group)\" *ngFor=\"let group of boardGroupData\" [nzTitle]=\"groupTitleTemplate\" cdkDrag>\r\n            <ng-template #groupTitleTemplate>\r\n              <span *ngIf=\"boardData.titleLock != 'true'\">\r\n                <a\r\n                  class=\"group-menu-button\"\r\n                  nz-popover\r\n                  nzPopoverTrigger=\"click\"\r\n                  (click)=\"clickGroupMenu($event, group)\"\r\n                  [nzPopoverContent]=\"groupMenuTemplate\"\r\n                  [(nzPopoverVisible)]=\"group.menuPopVisible\"\r\n                  nzPopoverPlacement=\"bottomLeft\"\r\n                  [style.color]=\"group.color\">\r\n                  <i nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i>\r\n                </a>\r\n                <ng-template #groupMenuTemplate>\r\n                  <div class=\"add-column-menu\">\r\n                    <ul>\r\n                      <!--<li (click)=\"collapseGroup(group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-shouqi'\"></i> 折叠当前</li>-->\r\n                      <!--<li (click)=\"collapseAllGroup()\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-shouqi'\"></i> 折叠所有</li>-->\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.groupAuthority : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockAB\">\r\n                        <li nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"group['visible']\" (nzPopoverVisibleChange)=\"groupAuthorityChange(group.id, $event)\"\r\n                            [nzPopoverContent]=\"groupAuthorityTemp\" nzPopoverPlacement=\"rightTop\">\r\n                          <i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限\r\n                        </li>\r\n                        <ng-template #groupAuthorityTemp>\r\n                          <nz-tabset>\r\n                            <nz-tab nzTitle=\"编辑权限\">\r\n                              <div class=\"group-authority-content\">\r\n                                <div class=\"group-authority-content-switch\">\r\n                                  <div class=\"description\">是否开启</div>\r\n                                  <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.edit.status\"></nz-switch>\r\n                                </div>\r\n                                <div *ngIf=\"groupAuthority.edit.status\">\r\n                                  <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.edit.members\" (getData)=\"getAuthorityMember(groupAuthority.edit, $event)\"></nf-member>\r\n                                </div>\r\n                              </div>\r\n                            </nz-tab>\r\n                            <nz-tab nzTitle=\"查看权限\">\r\n                              <div class=\"group-authority-content\">\r\n                                <div class=\"group-authority-content-switch\">\r\n                                  <div class=\"description\">是否开启</div>\r\n                                  <nz-switch nzCheckedChildren=\"开启\" nzUnCheckedChildren=\"关闭\" [(ngModel)]=\"groupAuthority.view.status\"></nz-switch>\r\n                                </div>\r\n                                <div *ngIf=\"groupAuthority.view.status\">\r\n                                  <nf-member [boardId]=\"boardId\" [memberList]=\"groupAuthority.view.members\" (getData)=\"getAuthorityMember(groupAuthority.view, $event)\"></nf-member>\r\n                                </div>\r\n                              </div>\r\n                            </nz-tab>\r\n                          </nz-tabset>\r\n                          <div style=\"text-align: right;\">\r\n                            <button nz-button nzType=\"primary\" (click)=\"groupAuthorityConfirm(group)\">确定</button>\r\n                          </div>\r\n                        </ng-template>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockAB>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size: 17px;\" nz-icon nzType=\"team\" nzTheme=\"outline\"></i> 分组权限</li>\r\n                      </ng-template>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archiveGroup : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockAG\">\r\n                        <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archiveGroup(boardId, group.id)\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockAG>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size:17px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档组</li>\r\n                      </ng-template>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupName : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockEGN\">\r\n                        <li (click)=\"editGroupNameDialog(group.title, group.boardId, group.id, group.color)\"><i style=\"font-size:15px;\" nz-icon nzType=\"form\" nzTheme=\"outline\"></i> 编辑组名</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockEGN>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size:15px;\" nz-icon nzType=\"form\" nzTheme=\"outline\"></i> 编辑组名</li>\r\n                      </ng-template>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editGroupColor : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockEGC\">\r\n                        <li nz-popover nzPopoverTrigger=\"click\" [nzPopoverContent]=\"changeGroupColorTemplate\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockEGC>\r\n                        <li class=\"add-column-menu_disabled\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-yanse'\"></i> 更换颜色</li>\r\n                      </ng-template>\r\n                      <li nz-popover nzPopoverPlacement=\"rightTop\" [nzPopoverContent]=\"levelOptionTemplate\" *ngIf=\"group.levelList && group.levelList.length\">\r\n                        <i nz-icon nzType=\"cluster\" nzTheme=\"outline\"></i> 层级展示\r\n                        <i style=\"position: absolute;right: 15px;margin-top: 5px; font-size: 11px;\" nz-icon nzType=\"right\" nzTheme=\"outline\"></i>\r\n                      </li>\r\n                      <li (click)=\"selectGroup(group)\"><i style=\"font-size:15px\" nz-icon nzType=\"check-circle\" nzTheme=\"outline\"></i> 选中本组</li>\r\n                      <ng-template\r\n                        [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteGroup : ''\"\r\n                        [ngxPermissionsOnlyElse]=\"elseBlockDG\">\r\n                        <li nz-popconfirm [nzPopconfirmTitle]=\"group.pulses && group.pulses.length > 0 ? '当前分组下存在任务，删除分组会同时删除分组下的任务，是否确认删除?' : '是否确认删除?'\" (nzOnConfirm)=\"removeGroup(boardId, group.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                      </ng-template>\r\n                      <ng-template #elseBlockDG>\r\n                        <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除组</li>\r\n                      </ng-template>\r\n                      <ng-template #levelOptionTemplate>\r\n                        <div class=\"add-column-menu\">\r\n                          <ul>\r\n                            <li (click)=\"treeGridLevelChange('unfold', group.id)\">全部展开</li>\r\n                            <li (click)=\"treeGridLevelChange('fold', group.id)\">全部折叠</li>\r\n                            <li *ngFor=\"let list of group['levelList']\" (click)=\"treeGridLevelChange(list.id, group.id)\">{{list.title}}</li>\r\n                          </ul>\r\n                        </div>\r\n                      </ng-template>\r\n                    </ul>\r\n                  </div>\r\n                </ng-template>\r\n                <ng-template #changeGroupColorTemplate>\r\n                  <div class=\"group-color-dialog\">\r\n                    <a *ngFor=\"let item of initGroupColor\" (click)=\"changeGroupColor(group.boardId, group.id, item)\" class=\"group-color-item\" [ngStyle]=\"{'background': item}\"></a>\r\n                  </div>\r\n                </ng-template>\r\n                <span nz-tooltip=\"{{group.title}}\" style=\"font-size:15px;\" [style.color]=\"group.color\">\r\n                 {{group.title}}\r\n                </span>\r\n              </span>\r\n              <span *ngIf=\"boardData.titleLock == 'true'\">\r\n                <a\r\n                  class=\"group-menu-button\"\r\n                  [style.color]=\"group.color\">\r\n                  <i nz-icon nzType=\"play-circle\" nzTheme=\"fill\"></i>\r\n                </a>\r\n                <span nz-tooltip=\"{{group.title}}\" style=\"font-size:18px;\" [style.color]=\"group.color\">\r\n                 {{group.title}} <i class=\"column-title-lock\" nz-tooltip=\"标题已锁定，请联系管理员修改\" nz-icon nzType=\"lock\"></i>\r\n                </span>\r\n              </span>\r\n            </ng-template>\r\n          </nz-tab>\r\n        </nz-tabset>\r\n        <ng-template #extraTemplate>\r\n          <div *ngIf=\"showFilter\" class=\"filter-button\" nz-popover [nzPopoverContent]=\"filterTemplate\" nzPopoverPlacement=\"leftTop\" nzPopoverTrigger=\"click\">\r\n            <button [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"filter\" nzTheme=\"outline\"></i> 筛选 <ng-container *ngIf=\"filterConditionCount > 0\">/{{filterConditionCount}}</ng-container></button>\r\n          </div>\r\n          <div class=\"filter-button\" nz-popover [nzPopoverContent]=\"filterTemplate\" nzPopoverPlacement=\"leftTop\" nzPopoverTrigger=\"click\">\r\n            <button class=\"filter-button\" [nzSize]=\"'small'\" nz-button>\r\n              <i nz-icon nzType=\"filter\" nzTheme=\"outline\"></i> 筛选 <ng-container *ngIf=\"filterConditionCount > 0\">/{{filterConditionCount}}</ng-container>\r\n            </button>\r\n          </div>\r\n          <button *ngIf=\"taskSystemParameter && taskSystemParameter.tools && taskSystemParameter.tools == 'statistics'\" (click)=\"taskStatisticsChange()\" [nzType]=\"taskStatisticsVisible?'primary':'default'\" style=\"margin-right:5px\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"pie-chart\" nzTheme=\"outline\"></i> 统计</button>\r\n          <ng-template\r\n            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addPulse : ''\"\r\n            [ngxPermissionsOnlyElse]=\"elseBlockADP\">\r\n            <button (click)=\"openAddTaskDialog()\" nzType=\"primary\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i> 添加任务</button>\r\n            <button (click)=\"openTaskRulesDialog()\" style=\"margin-left:5px\" nzType=\"primary\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"schedule\" nzTheme=\"outline\"></i> 任务规则管理</button>\r\n          </ng-template>\r\n          <ng-template #elseBlockADP>\r\n            <button disabled nzType=\"primary\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"plus\" nzTheme=\"outline\"></i> 添加任务</button>\r\n            <button disabled style=\"margin-left:5px\" nzType=\"primary\" [nzSize]=\"'small'\" nz-button><i nz-icon nzType=\"schedule\" nzTheme=\"outline\"></i> 任务规则管理</button>\r\n          </ng-template>\r\n        </ng-template>\r\n      </div>\r\n      <!-- 筛选逻辑 -->\r\n<!--      <ng-template #filterTemplate>-->\r\n<!--        <nf-task-filter [nfBoardData]=\"boardData\"></nf-task-filter>-->\r\n<!--      </ng-template>-->\r\n      <ng-template #filterTemplate>\r\n        <!--<nf-task-filter [nfBoardData]=\"boardData\"></nf-task-filter>-->\r\n        <div style=\"margin: -8px;\">\r\n          <div style=\"max-width: calc(80vw - 420px); min-width: 680px;\">\r\n            <div style=\"height:50px; padding: 22px 0 0px 0;\">\r\n              <div style=\"display: flex; padding-left: 10px;\">\r\n            <span style=\"flex: 1 1 auto;\">\r\n              <b style=\"margin-right: 5px;\">过滤你的面板</b>\r\n              <ng-container *ngIf=\"boardData.boardData && boardData.boardData.pulses\">\r\n                <ng-container *ngIf=\"boardPulseData.length == boardData.boardData.pulses.length\">共 {{boardPulseData.length}} 条</ng-container>\r\n                <ng-container *ngIf=\"boardPulseData.length < boardData.boardData.pulses.length\">\r\n                  显示 {{boardData.boardData.pulses.length}}条 中的 {{boardPulseData.length}} 条\r\n                  <a style=\"padding-left: 16px;\" (click)=\"clearFilterCondition()\">清除</a>\r\n                </ng-container>\r\n              </ng-container>\r\n            </span>\r\n                <div style=\"flex: 1 1 auto; text-align: right;\">\r\n                  <button nz-button nzSize=\"small\" style=\"margin-right: 10px;\" (click)=\"useLastCondition()\">使用上次的过滤条件</button>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div style=\"max-width: calc(80vw - 420px); min-width: 680px; overflow-x: auto;\">\r\n            <div style=\"height: 320px; padding: 25px; display: flex; min-width: 480px;\" [style.width]=\"((filterData.columns.length + 1) * 130) + 'px'\">\r\n              <div style=\"width: 120px; margin-right: 10px;\">\r\n                <div class=\"filter-item-title\">分组</div>\r\n                <div>\r\n                  <a class=\"filter-option\" [style.color]=\"group.color\" *ngFor=\"let group of filterData.groups; let i = index;\" (click)=\"chooseGroup(group, i)\">\r\n                    <div class=\"filter-option-content\">\r\n                      {{group.name}}\r\n                    </div>\r\n                  </a>\r\n                </div>\r\n                <ng-container *ngIf=\"filterData.selectedGroups && filterData.selectedGroups.length > 0\">\r\n                  <div>\r\n                    已选择 {{filterData.selectedGroups.length}} 项\r\n                  </div>\r\n                  <div>\r\n                    <a class=\"filter-option selected\" style=\"background-color: #d9f0ff;\" [style.color]=\"group.color\" *ngFor=\"let group of filterData.selectedGroups; let i = index;\" (click)=\"removeGroupFilter(group, i)\">\r\n                      <div class=\"filter-option-content\">\r\n                        {{group.name}}\r\n                      </div>\r\n                    </a>\r\n                  </div>\r\n                </ng-container>\r\n              </div>\r\n              <div style=\"width: 120px; margin-right: 10px;\" *ngFor=\"let column of filterData.columns\">\r\n                <div class=\"filter-item-title\">{{column.name}}</div>\r\n                <div class=\"filter-item-content\" [style.max-height]=\"column.maxHeight\">\r\n                  <a class=\"filter-option\" *ngFor=\"let value of column.columnValues; let i = index;\" (click)=\"chooseValue(column, value, i)\">\r\n                    <div class=\"filter-option-content\" [style.display]=\"column.type == 'check'?'inline-block':''\" nz-tooltip\r\n                         nzTooltipTitle=\"{{value.title + (column.type == 'multiple-person'&& value.value ? '(' + value.value + ')' : '')}}\">\r\n                      <span *ngIf=\"value.color\" class=\"status-circle\" [style]=\"{'background-color': value.color, 'border-color': value.color}\"></span>\r\n                      <div style=\"color: #333;\" [style.text-align]=\"column.type == 'check'?'center':'left'\">\r\n                        {{value.title}}\r\n                        <ng-container *ngIf=\"column.type == 'multiple-person' && value.value\">({{value.value}})</ng-container>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"filter-option-counter\">\r\n                      {{value.count}}\r\n                    </div>\r\n                  </a>\r\n                </div>\r\n                <ng-container *ngIf=\"column.selectedValue && column.selectedValue.length > 0\">\r\n                  <div>\r\n                    已选择 {{column.selectedValue.length}} 项\r\n                  </div>\r\n                  <div class=\"filter-item-content\" [style.max-height]=\"column.valueMaxHeight\">\r\n                    <a class=\"filter-option selected\" *ngFor=\"let value of column.selectedValue; let i = index;\" (click)=\"removeValue(column, value, i)\">\r\n                      <div class=\"filter-option-content\" nz-tooltip\r\n                           nzTooltipTitle=\"{{value.title + (column.type == 'multiple-person'&& value.value ? '(' + value.value + ')' : '')}}\">\r\n                        <span *ngIf=\"value.color\" class=\"status-circle\" [style]=\"{'background-color': value.color, 'border-color': value.color}\"></span>\r\n                        <div style=\"color: #333;\">\r\n                          {{value.title}}\r\n                          <ng-container *ngIf=\"column.type == 'multiple-person' && value.value\">({{value.value}})</ng-container>\r\n                        </div>\r\n                      </div>\r\n                      <div class=\"filter-option-counter\">\r\n                        {{value.count}}\r\n                      </div>\r\n                    </a>\r\n                  </div>\r\n                </ng-container>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n      <div class=\"tree-table-container\">\r\n        <nz-table #virtualTable\r\n                  style=\"margin-left:20px\"\r\n                  [nzData]=\"listOfMapData\"\r\n                  [nzFrontPagination]=\"false\"\r\n                  [nzSize]=\"'small'\"\r\n                  [nzLoading]=\"isSpinning\"\r\n                  [nzScroll]=\"{ y: visibleHeight + 'px' }\"\r\n                  nzTableLayout=\"fixed\">\r\n          <thead>\r\n          <tr cdkDropList\r\n              cdkDropListOrientation=\"horizontal\"\r\n              (cdkDropListDropped)=\"dropColumn($event)\">\r\n            <th class=\"column-header\" [nzLeft]=\"true\" [nzWidth]=\"'25px'\"></th>\r\n            <ng-container *ngFor=\"let column of boardColumnData\">\r\n              <ng-container [ngSwitch]=\"column.type\">\r\n                <!-- 标题列组件 -->\r\n                <ng-container *ngSwitchCase=\"'name'\">\r\n                  <th class=\"column-header\"\r\n                      nz-resizable\r\n                      nzBounds=\"window\"\r\n                      nzPreview\r\n                      [nzLeft]=\"true\"\r\n                      [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                      (nzResizeEnd)=\"onResize($event, column)\"\r\n                      [nzWidth]=\"column.width + 'px'\">\r\n                    {{column.title}}\r\n                    <div class=\"column-header-element-wrapper\">\r\n                      <div\r\n                        (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                        nz-dropdown\r\n                        nzTrigger=\"click\"\r\n                        [nzDropdownMenu]=\"menu\"\r\n                        class=\"column-menu\">\r\n                        <div class=\"ds-menu-button-container\">\r\n                          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                        </div>\r\n                      </div>\r\n                      <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                        <ul nz-menu style=\"min-width:150px\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockDCAB\">\r\n                            <li nz-menu-item (click)=\"openEditColumnNameDialog(column)\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑列名</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockDCAB>\r\n                            <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑列名</li>\r\n                          </ng-template>\r\n                        </ul>\r\n                      </nz-dropdown-menu>\r\n                    </div>\r\n                    <nz-resize-handle nzDirection=\"right\">\r\n                      <div class=\"resize-trigger\"></div>\r\n                    </nz-resize-handle>\r\n                  </th>\r\n                  <th [nzWidth]=\"'50px'\">类型</th>\r\n                </ng-container>\r\n                <!-- 任务完成情况列组件 -->\r\n                <ng-container *ngSwitchCase=\"'taskProgress'\">\r\n                  <th class=\"column-header\"\r\n                      [nzAlign]=\"'center'\"\r\n                      nz-resizable\r\n                      nzBounds=\"window\"\r\n                      nzPreview\r\n                      cdkDrag\r\n                      cdkDragLockAxis=\"x\"\r\n                      [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                      (nzResizeEnd)=\"onResize($event, column)\"\r\n                      [nzWidth]=\"column.width + 'px'\">\r\n                    <div class=\"column-header-left-wrapper\">\r\n                      <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                    </div>\r\n                    {{column.title}}\r\n                    <div class=\"column-header-element-wrapper\">\r\n                      <div\r\n                        (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                        nz-dropdown\r\n                        nzTrigger=\"click\"\r\n                        [nzDropdownMenu]=\"menu\"\r\n                        class=\"column-menu\">\r\n                        <div class=\"ds-menu-button-container\">\r\n                          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                        </div>\r\n                      </div>\r\n                      <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                        <ul nz-menu style=\"min-width:150px\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                            <li nz-submenu [nzTitle]=\"dmt\">\r\n                              <ul *ngIf=\"!column.permissionType\">\r\n                                <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                              </ul>\r\n                              <ul *ngIf=\"column.permissionType\">\r\n                                <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                  <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                  取消限制</li>\r\n                                <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                  <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                </li>\r\n                              </ul>\r\n                              <ng-template #dmt>\r\n                                <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                列权限\r\n                              </ng-template>\r\n                            </li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockSPA>\r\n                            <li nz-menu-item style=\"color:#ccc\">\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </li>\r\n                          </ng-template>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                            <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                              <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                            </li>\r\n                            <li nz-menu-item (click)=\"openTaskProgressDialog(column.id)\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-zidingyilie'\"></i> 列设置</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockSE>\r\n                            <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                              <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                            </li>\r\n                            <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px\" nz-icon [nzIconfont]=\"'icon-zidingyilie'\"></i> 列设置</li>\r\n                          </ng-template>\r\n<!--                          <li nz-menu-item (click)=\"filterTask()\"><i nz-icon nzType=\"filter\" nzTheme=\"outline\"></i> 筛选</li>-->\r\n                          <li nz-menu-divider></li>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockDCAB\">\r\n                            <li nz-menu-item (click)=\"openEditColumnNameDialog(column)\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑列名</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockDCAB>\r\n                            <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑列名</li>\r\n                          </ng-template>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                            <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockDCA>\r\n                            <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                          </ng-template>\r\n                        </ul>\r\n                      </nz-dropdown-menu>\r\n                    </div>\r\n                    <nz-resize-handle nzDirection=\"right\">\r\n                      <div class=\"resize-trigger\"></div>\r\n                    </nz-resize-handle>\r\n                  </th>\r\n                </ng-container>\r\n                <!-- 默认组件 -->\r\n                <ng-container *ngSwitchDefault>\r\n                  <th\r\n                    class=\"column-header\"\r\n                    [nzAlign]=\"'center'\"\r\n                    nz-resizable\r\n                    nzBounds=\"window\"\r\n                    nzPreview\r\n                    cdkDrag\r\n                    cdkDragLockAxis=\"x\"\r\n                    [ngClass]=\"{'set-column-current-bg': clickCurrentColumnValue == column.id + (activeGroup ? activeGroup.id : '')}\"\r\n                    (nzResizeEnd)=\"onResize($event, column)\"\r\n                    [nzWidth]=\"column.width + 'px'\">\r\n                    <div class=\"column-header-left-wrapper\">\r\n                      <i cdkDragHandle class=\"drag-handle\" nz-icon [nzIconfont]=\"'iconfont-drag'\"></i>\r\n                    </div>\r\n                    {{column.title}}\r\n                    <div class=\"column-header-element-wrapper\">\r\n                      <div\r\n                        (click)=\"clickCurrentColumn(column.id, activeGroup.id)\"\r\n                        nz-dropdown\r\n                        nzTrigger=\"click\"\r\n                        [nzDropdownMenu]=\"menu\"\r\n                        class=\"column-menu\">\r\n                        <div class=\"ds-menu-button-container\">\r\n                          <div class=\"caret-down\"><i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i></div>\r\n                        </div>\r\n                      </div>\r\n                      <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                        <ul nz-menu style=\"min-width:150px\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setColumnPermission : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockSPA\">\r\n                            <li nz-submenu [nzTitle]=\"dmt\">\r\n                              <ul *ngIf=\"!column.permissionType\">\r\n                                <li nz-menu-item (click)=\"columnPermissionSet('lock', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i> 列编辑权限</li>\r\n                                <li nz-menu-item (click)=\"columnPermissionSet('hide', column.id, 'true')\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i> 列查看权限</li>\r\n                              </ul>\r\n                              <ul *ngIf=\"column.permissionType\">\r\n                                <li nz-menu-item (click)=\"columnPermissionSet(column.permissionType, column.id, 'false')\">\r\n                                  <i *ngIf=\"column.permissionType === 'lock'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                  <i *ngIf=\"column.permissionType === 'hide'\" style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-notview'\"></i>\r\n                                  取消限制</li>\r\n                                <li nz-menu-item (click)=\"columnSelectMember(column)\">\r\n                                  <i style=\"font-size:16px\" nz-icon [nzIconfont]=\"'icon-shezhi'\"></i> 权限设置\r\n                                </li>\r\n                              </ul>\r\n                              <ng-template #dmt>\r\n                                <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                                列权限\r\n                              </ng-template>\r\n                            </li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockSPA>\r\n                            <li nz-menu-item style=\"color:#ccc\">\r\n                              <i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-lock-fill'\"></i>\r\n                              列权限\r\n                            </li>\r\n                          </ng-template>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.setEncrypt : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockSE\">\r\n                            <li nz-menu-item (click)=\"columnEncryptChange(column)\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                              <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                            </li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockSE>\r\n                            <li nz-menu-item style=\"color:#ccc\"><i style=\"font-size:15px;margin-right:14px\" nz-icon [nzIconfont]=\"'icon-encrypt'\"></i>\r\n                              <ng-container *ngIf=\"!column.encrypt\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'false'\">列加密</ng-container>\r\n                              <ng-container *ngIf=\"column.encrypt == 'true'\">取消加密</ng-container>\r\n                            </li>\r\n                          </ng-template>\r\n                          <li nz-menu-divider></li>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editColumn : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockDCAB\">\r\n                            <li nz-menu-item (click)=\"openEditColumnNameDialog(column)\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑列名</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockDCAB>\r\n                            <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i> 编辑列名</li>\r\n                          </ng-template>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deleteColumn : ''\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockDCA\">\r\n                            <li (click)=\"removeColumn(activeGroup.boardId, column.id)\" nz-menu-item><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockDCA>\r\n                            <li nz-menu-item style=\"color: #ccc;cursor: default;\"><i style=\"font-size:18px\" nz-icon [nzIconfont]=\"'icon-remove'\"></i> 删除列</li>\r\n                          </ng-template>\r\n                        </ul>\r\n                      </nz-dropdown-menu>\r\n                    </div>\r\n                    <nz-resize-handle nzDirection=\"right\">\r\n                      <div class=\"resize-trigger\"></div>\r\n                    </nz-resize-handle>\r\n                  </th>\r\n                </ng-container>\r\n              </ng-container>\r\n            </ng-container>\r\n            <th class=\"name-column-indicator\" [nzRight]=\"true\" nzAlign=\"center\" [nzWidth]=\"'38px'\">\r\n              <ng-template\r\n                [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.addPulse : ''\">\r\n                <a nz-popover [nzPopoverContent]=\"addColumnTemplate\" nzPopoverPlacement=\"bottomRight\">\r\n                  <i class=\"add-field-icon\" nz-icon nzType=\"plus-circle\" nzTheme=\"fill\"></i>\r\n                </a>\r\n              </ng-template>\r\n              <ng-template #addColumnTemplate>\r\n                <div class=\"add-column-menu col-menu\" style=\"width:400px\">\r\n                  <nz-tabset nzType=\"card\">\r\n                    <nz-tab [nzTitle]=\"'常用组件'\" *ngIf=\"taskSystemParameter && taskSystemParameter.commonColumn\">\r\n                      <ul>\r\n                        <ng-container *ngFor=\"let item of taskSystemParameter.commonColumn\">\r\n                          <li (click)=\"addColumnFun(activeGroup.boardId, item.code, item.title)\">\r\n                            <i style=\"font-size: 15px; margin-left: 4px;\" nz-icon [nzType]=\"item.icon\"></i>{{item.title}}\r\n                          </li>\r\n                        </ng-container>\r\n                      </ul>\r\n                    </nz-tab>\r\n                    <nz-tab [nzTitle]=\"'日志组件'\" *ngIf=\"taskSystemParameter && taskSystemParameter.logColumn\">\r\n                      <ul>\r\n                        <ng-container *ngFor=\"let item of taskSystemParameter.logColumn\">\r\n                          <li (click)=\"addColumnFun(activeGroup.boardId, item.code, item.title)\">\r\n                            <i style=\"font-size: 15px; margin-left: 4px;\" nz-icon [nzType]=\"item.icon\"></i>{{item.title}}\r\n                          </li>\r\n                        </ng-container>\r\n                      </ul>\r\n                    </nz-tab>\r\n                  </nz-tabset>\r\n                </div>\r\n              </ng-template>\r\n            </th>\r\n          </tr>\r\n          </thead>\r\n          <tbody>\r\n          <ng-container *ngFor=\"let pulse of listOfMapData\">\r\n            <ng-container *ngFor=\"let item of mapOfExpandedData[pulse.id]\">\r\n              <tr class=\"pulse-component-wrapper\" *ngIf=\"(item.parent && item.parent.expand) || !item.parent\">\r\n                <td\r\n                  cdkDragHandle\r\n                  [nzLeft]=\"true\"\r\n                  [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == item.id}\"\r\n                  style=\"background: #fff !important;border:none;cursor:move\">\r\n                  <div\r\n                    (click)=\"clickCurrentPulse(item.id)\"\r\n                    nz-popover\r\n                    nzPopoverTrigger=\"click\"\r\n                    nzPopoverPlacement=\"bottomLeft\"\r\n                    [nzPopoverContent]=\"pulseMenuTemplate\"\r\n                    class=\"pulse-menu-component\">\r\n                    <div class=\"ds-menu-button-container\">\r\n                      <div class=\"ds-menu-button\">\r\n                        <i class=\"pulse-caret-down\" nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #pulseMenuTemplate>\r\n                    <div class=\"add-column-menu\">\r\n                      <ul>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockAP\">\r\n                          <li nz-popconfirm nzPopconfirmTitle=\"是否确认归档?\" (nzOnConfirm)=\"archivePulse(item.id)\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockAP>\r\n                          <li class=\"add-column-menu_disabled\"><i style=\"font-size:16px;\" nz-icon [nzIconfont]=\"'icon-guidang'\"></i> 归档任务</li>\r\n                        </ng-template>\r\n<!--                        <ng-template-->\r\n<!--                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPulse : ''\"-->\r\n<!--                          [ngxPermissionsOnlyElse]=\"elseBlockDQ\">-->\r\n<!--                          <li (click)=\"openPulseDialog(item)\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>编辑任务名称</li>-->\r\n<!--                        </ng-template>-->\r\n<!--                        <ng-template #elseBlockDQ>-->\r\n<!--                          <li class=\"add-column-menu_disabled\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i>编辑任务名称</li>-->\r\n<!--                        </ng-template>-->\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockDP\">\r\n                          <li nz-popconfirm nzPopconfirmTitle=\"是否确认删除?\" (nzOnConfirm)=\"removePulse(item.id)\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除行</li>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockDP>\r\n                          <li class=\"add-column-menu_disabled\"><i nz-icon [nzIconfont]=\"'icon-remove'\"></i>删除行</li>\r\n                        </ng-template>\r\n                      </ul>\r\n                    </div>\r\n                  </ng-template>\r\n                </td>\r\n                <ng-container *ngFor=\"let column of boardColumnData\">\r\n                  <ng-container [ngSwitch]=\"column.type\">\r\n                    <!-- 标题行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'name'\">\r\n                      <td\r\n                        class=\"name-pulse-column\"\r\n                        [nzLeft]=\"true\"\r\n                        [nzIndentSize]=\"item.level! * 20\"\r\n                        [nzShowExpand]=\"!!item.children\"\r\n                        [(nzExpand)]=\"item.expand\"\r\n                        (nzExpandChange)=\"collapse(mapOfExpandedData[pulse.id], item, $event)\">\r\n                        <ng-template [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.viewPost : ''\">\r\n                          <div (click)=\"openDialog(activeGroup.boardId, column, item)\" class=\"posts-indicator-component\" nz-tooltip nzTooltipTitle=\"开始对话\">\r\n                            <div class=\"conversation-indicator-icon\">\r\n                              <ng-container *ngIf=\"!(item.updatesCount === 0)\">\r\n                                <i nz-icon [nzIconfont]=\"'icon-message'\" style=\"color:#009AFF\"></i>\r\n                                <span class=\"updates-count\">{{item.updatesCount}}</span>\r\n                              </ng-container>\r\n                              <ng-container *ngIf=\"item.updatesCount == 0\">\r\n                                <i nz-icon [nzIconfont]=\"'icon-message'\"></i>\r\n                              </ng-container>\r\n                            </div>\r\n                          </div>\r\n                        </ng-template>\r\n                        <div class=\"pulse-left-indicator can-edit\" [style.background]=\"activeGroup.color\" [style.color]=\"activeGroup.color\">\r\n                          <div\r\n                            [ngClass]=\"{'open-selection': pulse.isPulseOpenSelection}\"\r\n                            class=\"left-indicator-inner\">\r\n                            <div\r\n                              class=\"left-indicator-checkbox\"\r\n                              [ngClass]=\"{'selected': item.isPulseChecked}\"\r\n                              (click)=\"pulseCheckedChange(item)\">\r\n                              <div class=\"left-indicator-checkbox-mark iconfont iconfont-check\"></div>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockP0\">\r\n                          <div class=\"title-wrapper\">\r\n                            <div class=\"editable-cell\" [hidden]=\"editId === item.id + '_' + column.id\" (click)=\"startEdit(item.id, column.id)\">\r\n                              {{ item.name }}\r\n                            </div>\r\n                            <textarea\r\n                              [hidden]=\"editId !== item.id + '_' + column.id\"\r\n                              (keyup.enter)=\"getColumnName(item.id, item.name, column.id)\"\r\n                              class=\"editable-pulse-name-input\"\r\n                              type=\"text\"\r\n                              nzSize=\"small\"\r\n                              nz-input\r\n                              nz-tooltip=\"{{item.name}}\"\r\n                              [(ngModel)]=\"item.name\"\r\n                              [nzAutosize]=\"true\"\r\n                              (blur)=\"getColumnName(item.id, item.name, column.id)\">\r\n                            </textarea>\r\n                          </div>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockP0>\r\n                          <div class=\"title-wrapper\">\r\n                            {{ item.name }}\r\n                          </div>\r\n                        </ng-template>\r\n                      </td>\r\n                      <td style=\"text-align: center\">\r\n                        <ng-container *ngIf=\"item.taskDef && item.taskDef.taskRoutingInspectionList && item.taskDef.taskRoutingInspectionList.length;else taskTypeTemp\">\r\n                          自动\r\n                        </ng-container>\r\n                        <ng-template #taskTypeTemp>\r\n                          手动\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 创建时间组件 -->\r\n                    <ng-container *ngSwitchCase=\"'createTime'\">\r\n                      <td>\r\n                        <div style=\"text-align: center;\">{{item.createdAt | date: 'yyyy-MM-dd HH:mm'}}</div>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 文本行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'text'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                            <textarea\r\n                              rows=\"1\"\r\n                              style=\"padding-top:5px;\"\r\n                              class=\"editable-pulse-input\"\r\n                              type=\"text\"\r\n                              nzSize=\"small\"\r\n                              nz-input\r\n                              [(ngModel)]=\"item.columnValues[column.id]\"\r\n                              nz-popover\r\n                              [nzPopoverContent]=\"textContentTemplate\"\r\n                              nzPopoverPlacement=\"rightTop\"\r\n                              (blur)=\"getColumnText(item, column, item.columnValues[column.id])\">\r\n                            </textarea>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <span style=\"cursor: default\" nz-popover [nzPopoverContent]=\"textContentTemplate\" nzPopoverPlacement=\"bottomLeft\">\r\n                            {{item.columnValues[column.id]}}\r\n                          </span>\r\n                        </ng-template>\r\n                        <ng-template #textContentTemplate>\r\n                          <div style=\"max-width:500px;min-width: 20px; word-break: break-all;\">\r\n                            <pre style=\"white-space: pre-wrap; max-height: 500px;\">{{item.columnValues[column.id]}}</pre>\r\n                          </div>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 日期行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'date'\">\r\n                      <td>\r\n                        <ng-container *ngIf=\"item.columnValues[column.id]\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                            <nz-date-picker\r\n                              class=\"date-editable\"\r\n                              nzSize=\"small\"\r\n                              [(ngModel)]=\"item.columnValues[column.id].date\"\r\n                              (ngModelChange)=\"getColumnDate(item.id, column.id, $event)\">\r\n                            </nz-date-picker>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockPB>\r\n                            <nz-date-picker\r\n                              nzDisabled\r\n                              class=\"date-editable\"\r\n                              nzSize=\"small\"\r\n                              [(ngModel)]=\"item.columnValues[column.id].date\">\r\n                            </nz-date-picker>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 状态行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'status'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPC\">\r\n                          <nf-status\r\n                            [nfBoardData]=\"boardData\"\r\n                            [nfGroupData]=\"activeGroup\"\r\n                            [nfPulseData]=\"item\"\r\n                            [nfColumnData]=\"column\"\r\n                            (updateFilterData)=\"updateFilterData(column.id)\"></nf-status>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPC>\r\n                          <nf-status\r\n                            [nfDisabled]=\"true\"\r\n                            [nfBoardData]=\"boardData\"\r\n                            [nfGroupData]=\"activeGroup\"\r\n                            [nfPulseData]=\"item\"\r\n                            [nfColumnData]=\"column\"></nf-status>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 任务完成情况行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'taskProgress'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockTPB\">\r\n                          <nf-task-progress [nfDisabled]=\"false\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-progress>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockTPB>\r\n                          <nf-task-progress [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-progress>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 多级人员组件 -->\r\n                    <ng-container *ngSwitchCase=\"'multiple-level-person'\">\r\n                      <td>\r\n                        <nf-multiple-level-person [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-multiple-level-person>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 任务操作按钮 -->\r\n                    <ng-container *ngSwitchCase=\"'taskButton'\">\r\n                      <td>\r\n                        <ng-container *ngIf=\"item.taskDef && !(item.children && item.children.length)\">\r\n                          <ng-container *ngIf=\"item.taskDef.auditItemIdList && item.taskDef.indicatorItemIdList;else buttonTemp\">\r\n                            <span *ngIf=\"item.taskDef.auditItemIdList.length\" (click)=\"auditResults(item, column)\" class=\"task-button-item\"><a>稽核结果</a></span>\r\n                            <span *ngIf=\"item.taskDef.indicatorItemIdList.length\" (click)=\"monitorResults(item, column)\" class=\"task-button-item\"><a>监控结果</a></span>\r\n                            <a nz-dropdown [nzDropdownMenu]=\"menu\">\r\n                              更多\r\n                              <i nz-icon nzType=\"down\"></i>\r\n                            </a>\r\n                            <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                              <ul nz-menu nzSelectable>\r\n                                <li nz-menu-item *ngIf=\"item.taskDef.auditItemIdList && item.taskDef.auditItemIdList.length\">\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockA\">\r\n                                    <ng-container *ngIf=\"item.columnValues[column.id] && item.columnValues[column.id].scanAuditStatus\">\r\n                                      <a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"稽核扫描中\" style=\"color:#f00\" (click)=\"stopScanAudit(item, column)\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a>\r\n                                    </ng-container>\r\n                                    <span *ngIf=\"!(item.columnValues[column.id] && item.columnValues[column.id].scanAuditStatus)\" (click)=\"refreshAudit($event, item, column, 'all')\" class=\"task-button-item\">\r\n                                      <a>扫描稽核</a>\r\n                                    </span>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockA>\r\n                                    <span class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">扫描稽核</span>\r\n                                  </ng-template>\r\n                                </li>\r\n                                <li nz-menu-item *ngIf=\"item.taskDef.indicatorItemIdList.length\">\r\n                                  <ng-template\r\n                                    [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                                    [ngxPermissionsOnlyElse]=\"elseBlockB\">\r\n                                    <ng-container *ngIf=\"item.columnValues[column.id] && item.columnValues[column.id].scanMonitorStatus\">\r\n                                      <a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"监控扫描中\" style=\"color:#f00\" (click)=\"stopScanMonitor(item, column)\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a>\r\n                                    </ng-container>\r\n                                    <span *ngIf=\"!(item.columnValues[column.id] && item.columnValues[column.id].scanMonitorStatus)\" (click)=\"refreshMonitor($event, item, column, 'all')\" class=\"task-button-item\">\r\n                                      <a>扫描监控</a>\r\n                                    </span>\r\n                                  </ng-template>\r\n                                  <ng-template #elseBlockB>\r\n                                    <span class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">扫描监控</span>\r\n                                  </ng-template>\r\n                                </li>\r\n                                <li nz-submenu nzTitle=\"报表明细\" *ngIf=\"item.taskDef.taskReportConfig\">\r\n                                  <ul>\r\n                                    <li nz-menu-item>\r\n                                      <span (click)=\"reportPreview(item)\" class=\"task-button-item\"><a>预览</a></span>\r\n                                    </li>\r\n                                    <li nz-menu-item>\r\n                                      <span (click)=\"reportExport(item)\" class=\"task-button-item\"><a>导出</a></span>\r\n                                    </li>\r\n                                  </ul>\r\n                                </li>\r\n                              </ul>\r\n                            </nz-dropdown-menu>\r\n                          </ng-container>\r\n                        </ng-container>\r\n                        <ng-template #buttonTemp>\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockC\">\r\n                            <ng-container *ngIf=\"item.columnValues[column.id] && item.columnValues[column.id].scanAuditStatus\">\r\n                              <a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"稽核扫描中\" style=\"color:#f00\" (click)=\"stopScanAudit(item, column)\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a>\r\n                            </ng-container>\r\n                            <ng-container *ngIf=\"!(item.columnValues[column.id] && item.columnValues[column.id].scanAuditStatus)\">\r\n                              <span *ngIf=\"item.taskDef.auditItemIdList && item.taskDef.auditItemIdList.length\" (click)=\"refreshAudit($event, item, column, 'all')\" class=\"task-button-item\"><a>扫描稽核</a></span>\r\n                            </ng-container>\r\n                            <span *ngIf=\"item.taskDef.auditItemIdList && item.taskDef.auditItemIdList.length\" (click)=\"auditResults(item, column)\" class=\"task-button-item\"><a>稽核结果</a></span>\r\n                            <ng-container *ngIf=\"item.columnValues[column.id] && item.columnValues[column.id].scanMonitorStatus\">\r\n                              <a class=\"task-button-item\" nz-tooltip nzTooltipTitle=\"监控扫描中\" style=\"color:#f00\" (click)=\"stopScanMonitor(item, column)\"><i nz-icon [nzType]=\"'sync'\" [nzSpin]=\"true\"></i> 扫描中</a>\r\n                            </ng-container>\r\n                            <ng-container *ngIf=\"!(item.columnValues[column.id] && item.columnValues[column.id].scanMonitorStatus)\">\r\n                              <span *ngIf=\"item.taskDef.indicatorItemIdList && item.taskDef.indicatorItemIdList.length\" (click)=\"refreshMonitor($event, item, column, 'all')\" class=\"task-button-item\"><a>扫描监控</a></span>\r\n                            </ng-container>\r\n                            <span *ngIf=\"item.taskDef.indicatorItemIdList && item.taskDef.indicatorItemIdList.length\" (click)=\"monitorResults(item, column)\" class=\"task-button-item\"><a>监控结果</a></span>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockC>\r\n                            <span *ngIf=\"item.taskDef.auditItemIdList && item.taskDef.auditItemIdList.length\" class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">扫描稽核</span>\r\n                            <span *ngIf=\"item.taskDef.auditItemIdList && item.taskDef.auditItemIdList.length\" (click)=\"auditResults(item, column)\" class=\"task-button-item\"><a>稽核结果</a></span>\r\n                            <span *ngIf=\"item.taskDef.indicatorItemIdList && item.taskDef.indicatorItemIdList.length\" class=\"task-button-item\" style=\"color:rgba(0, 0, 0, 0.25)\">扫描监控</span>\r\n                            <span *ngIf=\"item.taskDef.indicatorItemIdList && item.taskDef.indicatorItemIdList.length\" (click)=\"monitorResults(item, column)\" class=\"task-button-item\"><a>监控结果</a></span>\r\n                          </ng-template>\r\n                          <span style=\"color:#1890ff;cursor: pointer\" class=\"task-button-item\" *ngIf=\"item.taskDef.taskReportConfig\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n                            报表明细 <i nz-icon nzType=\"down\"></i>\r\n                          </span>\r\n                          <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n                            <ul nz-menu nzSelectable>\r\n                              <li nz-menu-item>\r\n                                <span (click)=\"reportPreview(item)\" class=\"task-button-item\"><a>预览</a></span>\r\n                              </li>\r\n                              <li nz-menu-item>\r\n                                <span (click)=\"reportExport(item)\" class=\"task-button-item\"><a>导出</a></span>\r\n                              </li>\r\n                            </ul>\r\n                          </nz-dropdown-menu>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 任务异常统计组件 -->\r\n                    <ng-container *ngSwitchCase=\"'taskAbnormalStatistics'\">\r\n                      <td>\r\n                        <nf-task-abnormal-statistics [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-abnormal-statistics>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 任务执行时间 -->\r\n                    <ng-container *ngSwitchCase=\"'taskExecuteTime'\">\r\n                      <td>\r\n                        <nf-task-execute-time [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-execute-time>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 任务处理组件 -->\r\n                    <ng-container *ngSwitchCase=\"'taskHandle'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockTPA\">\r\n                          <nf-task-handle [nfDisabled]=\"false\" *ngIf=\"item.columnValues[column.id]\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-handle>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockTPA>\r\n                          <nf-task-handle [nfDisabled]=\"true\" *ngIf=\"item.columnValues[column.id]\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-handle>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 子任务明细 -->\r\n                    <ng-container *ngSwitchCase=\"'taskStatus'\">\r\n                      <td>\r\n                        <nf-task-status [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-task-status>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 处理人组件 -->\r\n                    <ng-container *ngSwitchCase=\"'handler'\">\r\n                      <td>\r\n                        <nf-handler [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-handler>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 人员行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'multiple-person'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPD\">\r\n                          <nf-multiple-person [nfBoardData]=\"boardData\" [nfGroupData]=\"activeGroup\" [nfPulseData]=\"item\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-multiple-person>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPD>\r\n                          <nf-multiple-person [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfGroupData]=\"activeGroup\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-multiple-person>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 日期时间区间行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'time-interval'\">\r\n                      <td>\r\n                        <ng-container *ngIf=\"item.columnValues[column.id]\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                            <nz-range-picker\r\n                              class=\"date-editable\"\r\n                              [nzShowTime]=\"false\"\r\n                              nzFormat=\"yyyy-MM-dd\"\r\n                              [(ngModel)]=\"item.columnValues[column.id].date\"\r\n                              (ngModelChange)=\"getTimeInterval(item.id, column.id, $event)\">\r\n                            </nz-range-picker>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockPB>\r\n                            <nz-range-picker\r\n                              nzDisabled\r\n                              class=\"date-editable\"\r\n                              nzSize=\"small\"\r\n                              [nzShowTime]=\"false\"\r\n                              nzFormat=\"yyyy-MM-dd\"\r\n                              [(ngModel)]=\"item.columnValues[column.id].date\">\r\n                            </nz-range-picker>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 下拉组件 -->\r\n                    <ng-container *ngSwitchCase=\"'dropdown'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPE\">\r\n                          <nf-dropdown [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-dropdown>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPE>\r\n                          <nf-dropdown [nfDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-dropdown>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 选择器组件 -->\r\n                    <ng-container *ngSwitchCase=\"'select'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPF\">\r\n                          <nf-select [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-select>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPF>\r\n                          <nf-select [isDisabled]=\"true\" [nfBoardData]=\"boardData\" [nfPulseData]=\"item\" [nfColumnData]=\"column\"></nf-select>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 按钮行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'button'\">\r\n                      <td class=\"button-cell\">\r\n                        <!-- 0 不关联 -->\r\n                        <ng-container *ngIf=\"column.config && column.config.relation === '0'\">\r\n                          <ng-container *ngFor=\"let list of column.config.original\">\r\n                            <button (click)=\"buttonCustomClick(column, item)\" [nzLoading]=\"clickButtonLoading\" *ngIf=\"item.columnValues[column.id] && list.id == item.columnValues[column.id].original\" [nzSize]=\"'small'\" nz-button [nzType]=\"list.type\" [disabled]=\"!list.usable\">{{list.title}}</button>\r\n                          </ng-container>\r\n                          <ng-template [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\">\r\n                            <span\r\n                              class=\"button-pulse-config-icon\"\r\n                              nz-popover\r\n                              nzPopoverTrigger=\"click\"\r\n                              nzPopoverPlacement=\"leftTop\"\r\n                              (click)=\"openButtonConfig(pulse.id, column)\"\r\n                              [ngClass]=\"{'set-pulse-current-bg': clickCurrentPulseValue == item.id}\"\r\n                              [nzPopoverContent]=\"buttonTemplate\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-peizhi'\"></i>\r\n                            </span>\r\n                          </ng-template>\r\n                          <ng-template #buttonTemplate>\r\n                            <div class=\"button-config-wrapper\">\r\n                              <div class=\"button-config_select\">\r\n                                <div class=\"button-config_select-radio\" *ngIf=\"buttonConfigStatus\">\r\n                                  <div class=\"button-config_select-title\">选择显示的按钮：</div>\r\n                                  <nz-radio-group (ngModelChange)=\"buttonSelectChange($event, pulse.id, column)\" [(ngModel)]=\"item.columnValues[column.id].original\" style=\"width:100%\">\r\n                                    <label style=\"width:100%;margin-bottom:5px\" *ngFor=\"let item of column.config.original\" nz-radio [nzValue]=\"item.id\">\r\n                                      {{item.title}}\r\n                                      <span class=\"button-config_select-radio-edit\">\r\n                                        <i (click)=\"editButtonConfig(item)\" nz-tooltip nzTooltipTitle=\"编辑\" nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n                                      </span>\r\n                                      <span class=\"button-config_select-radio-remove\">\r\n                                        <ng-container *ngIf=\"item.notRemove\">\r\n                                          <i style=\"cursor: no-drop;color:rgba(0,0,0,.1)\" nz-tooltip nzTooltipTitle=\"按钮已经使用，无法删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                        </ng-container>\r\n                                        <ng-container *ngIf=\"!item.notRemove\">\r\n                                          <i (click)=\"removeButtonConfig(item.id, column)\" nz-tooltip nzTooltipTitle=\"删除\" nz-icon [nzIconfont]=\"'icon-Close'\"></i>\r\n                                        </ng-container>\r\n                                      </span>\r\n                                    </label>\r\n                                  </nz-radio-group>\r\n                                </div>\r\n                                <div class=\"button-config_select-add\" *ngIf=\"!buttonConfigStatus\">\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigTitle\">按钮名称</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigTitle\" />\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否可用</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <nz-switch (ngModelChange)=\"buttonConfigChange($event)\" [(ngModel)]=\"buttonConfigDisabled\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigUrl\">请求地址</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <input nz-input [nzSize]=\"'small'\" [(ngModel)]=\"buttonConfigUrl\" />\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                  <nz-form-item>\r\n                                    <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzFor=\"buttonConfigDisabled\">是否外部地址</nz-form-label>\r\n                                    <nz-form-control [nzSm]=\"14\" [nzXs]=\"24\">\r\n                                      <nz-switch [(ngModel)]=\"isExternalUrl\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n                                    </nz-form-control>\r\n                                  </nz-form-item>\r\n                                </div>\r\n                                <div style=\"margin:10px 0 5px 0;\"><nz-divider></nz-divider></div>\r\n                                <div class=\"button-config_edit-status\" (click)=\"buttonConfigAdd()\" *ngIf=\"buttonConfigStatus\"><div>新增</div></div>\r\n                                <div class=\"button-config_edit-status\" (click)=\"buttonConfigSubmit(buttonConfigEditStatus?'edit':'add', column)\" *ngIf=\"!buttonConfigStatus\"><div>提交</div></div>\r\n                              </div>\r\n                            </div>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                        <!-- 关联 -->\r\n                        <ng-container *ngIf=\"column.config && column.config.relation !== '0'\">\r\n                          <ng-container *ngFor=\"let col of boardColumnData\">\r\n                            <ng-container *ngIf=\"col.id == column.config.relation\">\r\n                              <ng-container *ngFor=\"let option of col.config.button\">\r\n                                <button *ngIf=\"option.id == item.columnValues[column.config.relation].button\" [nzSize]=\"'small'\" nz-button [nzType]=\"option.type\" [disabled]=\"!option['usable']\" (click)=\"buttonRelationClick(option.url, pulse.id)\">{{option.title}}</button>\r\n                              </ng-container>\r\n                            </ng-container>\r\n                          </ng-container>\r\n                        </ng-container>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 投票行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'vote'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockAD\">\r\n                          <nf-vote [currentUser]=\"currentUser\" [nfData]=\"item.columnValues[column.id]\" (getData)=\"getVoteData(item, column.id, $event)\"></nf-vote>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockAD>\r\n                          <nf-vote [currentUser]=\"currentUser\" [nfData]=\"item.columnValues[column.id]\" [disabled]=\"true\"></nf-vote>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 最后更新行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'last-updated'\">\r\n                      <td>\r\n                        <nf-last-updated [pulseId]=\"item.id\"></nf-last-updated>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 日期时间行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'date-time'\">\r\n                      <td>\r\n                        <ng-container *ngIf=\"item.columnValues[column.id]\">\r\n                          <ng-template\r\n                            [ngxPermissionsOnly]=\"item.columnPermissions[column.id]\"\r\n                            [ngxPermissionsOnlyElse]=\"elseBlockPB\">\r\n                            <nf-date-time class=\"date-editable\" [(ngModel)]=\"item.columnValues[column.id]\" (ngModelChange)=\"getColumnDateTime(item.id, column.id, $event)\"></nf-date-time>\r\n                          </ng-template>\r\n                          <ng-template #elseBlockPB>\r\n                            <nf-date-time class=\"date-editable\" [disabled]=\"true\" [(ngModel)]=\"item.columnValues[column.id]\"></nf-date-time>\r\n                          </ng-template>\r\n                        </ng-container>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 文件行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'file'\">\r\n                      <td>\r\n                        <ng-template\r\n                          [ngxPermissionsOnly]=\"pulse.columnPermissions[column.id]\"\r\n                          [ngxPermissionsOnlyElse]=\"elseBlockPA\">\r\n                          <nf-file [nfBoardData]=\"boardData\" [pulse]=\"item\" [column]=\"column\" [columnValue]=\"item.columnValues[column.id]\" (updateFilterData)=\"updateFilterData(column.id)\"></nf-file>\r\n                        </ng-template>\r\n                        <ng-template #elseBlockPA>\r\n                          <nf-file [nfBoardData]=\"boardData\" [pulse]=\"item\" [column]=\"column\" [columnValue]=\"item.columnValues[column.id]\" [disabled]=\"true\"></nf-file>\r\n                        </ng-template>\r\n                      </td>\r\n                    </ng-container>\r\n                    <!-- 进度行组件 -->\r\n                    <ng-container *ngSwitchCase=\"'progress'\">\r\n                      <td></td>\r\n                    </ng-container>\r\n                  </ng-container>\r\n                </ng-container>\r\n                <td class=\"name-pulse-column\" [nzRight]=\"true\" class=\"pulse-right-indicator\"></td>\r\n              </tr>\r\n            </ng-container>\r\n          </ng-container>\r\n          </tbody>\r\n        </nz-table>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!--=========== 批量操作 ============-->\r\n<div class=\"batch-component-wrapper\" *ngIf=\"pulseCheckedId.length > 0\">\r\n  <div class=\"batch-actions-menu-wrapper react-boards slide-enter-done\">\r\n    <div class=\"num-of-actions_wrapper\">\r\n      <div class=\"num-of-actions\" nz-tooltip nzTooltipTitle=\"{{pulseCheckedId.length}}\">{{pulseCheckedId.length > 99 ? 99 + '+' : pulseCheckedId.length}}</div>\r\n    </div>\r\n    <div class=\"batch-actions-title-section\">\r\n      <div class=\"title\">选中的任务</div>\r\n      <div class=\"pulses_dots\">\r\n        <div *ngFor=\"let item of pulseCheckedId\" class=\"dot\" style=\"background: #2196F3;\"></div>\r\n      </div>\r\n    </div>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.movePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEP\">\r\n      <div class=\"batch-actions-item\" nz-popover nzPopoverTrigger=\"click\" [(nzPopoverVisible)]=\"movePulsePopVisible\"\r\n           nzPopoverTitle=\"选择分组\" [nzPopoverContent]=\"movePulseTemplate\" nzPopoverPlacement=\"top\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"font-size: 24px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n      <ng-template #movePulseTemplate>\r\n        <div class=\"add-column-menu\">\r\n          <ul>\r\n            <li *ngFor=\"let group of boardGroupData\">\r\n              <div style=\"width: 8px;height:8px;margin-right:10px;display:inline-block;border-radius: 20px;\" [style.background-color]=\"group.color\"></div>\r\n              <div style=\"display: inline-block\" (click)=\"batchMoveToGroup(group)\">\r\n                {{group.title}}\r\n              </div>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      </ng-template>\r\n    </ng-template>\r\n    <ng-template #elseBlockEP>\r\n      <div class=\"batch-actions-item disable\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i style=\"color: rgb(131, 131, 131); font-size: 26px;\" nz-icon nzType=\"logout\" nzTheme=\"outline\"></i>\r\n        </span>\r\n        <span class=\"action-name\">移至</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.editPulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockEPF\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchEditPulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockEPF>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-bianji'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">修改</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.archivePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockAPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchArchivePulse()\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockAPA>\r\n      <div class=\"batch-actions-item disable\">\r\n            <span class=\"icon icon-v2-binline-o action-icon\">\r\n              <i nz-icon [nzIconfont]=\"'icon-guidang'\"></i>\r\n            </span>\r\n        <span class=\"action-name\">归档</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template\r\n      [ngxPermissionsOnly]=\"permissionDefinition ? permissionDefinition.deletePulse : ''\"\r\n      [ngxPermissionsOnlyElse]=\"elseBlockDPA\">\r\n      <div class=\"batch-actions-item\" (click)=\"batchDeletePulse()\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n        </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <ng-template #elseBlockDPA>\r\n      <div class=\"batch-actions-item disable\">\r\n        <span class=\"icon icon-v2-binline-o action-icon\">\r\n          <i nz-icon [nzIconfont]=\"'icon-remove'\"></i>\r\n        </span>\r\n        <span class=\"action-name\">删除</span>\r\n      </div>\r\n    </ng-template>\r\n    <div class=\"batch-actions-delete-item\" (click)=\"closeBatchMenu()\">\r\n      <i nz-icon nzType=\"close\" nzTheme=\"outline\"></i>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!--=========== 弹窗批量编辑 ============-->\r\n<ng-template #modalTplContent>\r\n  <nf-pulse-card\r\n    #pulseCard\r\n    [taskView]=\"'table'\"\r\n    [pulseIds]=\"pulseCheckedId\"\r\n    [nfData]=\"boardData\"\r\n    (nfChangeData)=\"getPulseCardData($event)\"></nf-pulse-card>\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleAddCancel()\">取消</button>\r\n  <button\r\n    nz-button\r\n    nzType=\"primary\"\r\n    nz-popconfirm\r\n    nzPopconfirmTitle=\"是否确认批量修改？\"\r\n    (nzOnConfirm)=\"handleAddOk()\"\r\n    [nzLoading]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n<!--=========== 选择成员 ============-->\r\n<nz-modal\r\n  [(nzVisible)]=\"isMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加成员\"\r\n  [nzFooter]=\"null\">\r\n  <nf-board-member [nfData]=\"boardData\" [nfColumnData]=\"currentColumnData\" *ngIf=\"isMemberVisible\"></nf-board-member>\r\n</nz-modal>\r\n<!--=========== 批量设置成员 ============-->\r\n<nz-modal\r\n  [(nzVisible)]=\"isBatchAddMemberVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleBatchAddMemberCancel()\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"批量设置人员\"\r\n  [nzFooter]=\"addModalFooter\">\r\n  <div class=\"dialog-wrapper\" *ngIf=\"isBatchAddMemberVisible\">\r\n    <div style=\"margin:0 0 10px 0;font-weight: 600;\">选择任务</div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedTaskValue\"\r\n      nzPlaceHolder=\"选择任务\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      [nzMode]=\"'multiple'\">\r\n      <nz-option *ngFor=\"let o of boardPulseData\" [nzValue]=\"o.id\" [nzLabel]=\"o.name\"></nz-option>\r\n    </nz-select>\r\n    <div style=\"margin:15px 0 10px 0;font-weight: 600;\">选择成员 <i nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" nz-tooltip nzTooltipTitle=\"一键为当前列所选任务设置成员\"></i></div>\r\n    <nz-select\r\n      style=\"width:100%;\"\r\n      [(ngModel)]=\"selectedMemberValue\"\r\n      nzPlaceHolder=\"选择成员\"\r\n      nzAllowClear\r\n      nzShowSearch\r\n      nzServerSearch\r\n      [nzMode]=\"'multiple'\"\r\n      (nzOnSearch)=\"onMemberSearch($event)\"\r\n      [nzDropdownRender]=\"renderTemplate\">\r\n      <nz-option *ngFor=\"let o of memberList\" [nzValue]=\"o\" [nzLabel]=\"o.name + '(' + o.id + ')'\"></nz-option>\r\n    </nz-select>\r\n    <ng-template #renderTemplate>\r\n      <nz-spin *ngIf=\"isLoading\"></nz-spin>\r\n    </ng-template>\r\n  </div>\r\n  <ng-template #addModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleBatchAddMemberCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" [disabled]=\"!(selectedTaskValue.length > 0 && selectedMemberValue.length > 0)\" [nzLoading]=\"isBatchAddMemberLoading\" (nzOnConfirm)=\"handleBatchAttachOk()\" nz-popconfirm nzPopconfirmTitle=\"此操作会批量修改任务，是否确认提交?\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!--=========== 对话抽屉 ============-->\r\n<nz-drawer nzWrapClassName=\"custom-modal\"\r\n           [nzVisible]=\"isDialogVisible\"\r\n           [nzWidth]=\"1200\"\r\n           [nzClosable]=\"true\"\r\n           (nzOnClose)=\"closeDialog()\">\r\n  <nf-conversation [boardData]=\"boardData\" [nfData]=\"conversationBaseData\"></nf-conversation>\r\n</nz-drawer>\r\n<!--=========== 添加任务弹窗 ============-->\r\n<nz-modal\r\n  [(nzVisible)]=\"isAddTaskVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal'\"\r\n  (nzOnCancel)=\"handleAddTaskCancel()\"\r\n  [nzWidth]=\"'50%'\"\r\n  [nzMaskClosable]=\"false\"\r\n  nzTitle=\"添加任务\"\r\n  [nzFooter]=\"addTaskModalFooter\">\r\n  <div class=\"add-task-modal\" *ngIf=\"isAddTaskVisible\">\r\n    <ng-container *ngIf=\"!createWayType\">\r\n      <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"6\">任务创建方式</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"14\">\r\n          <nz-radio-group [(ngModel)]=\"createWayType\" (ngModelChange)=\"getCreateWayType($event)\">\r\n            <label nz-radio nzValue=\"taskPool\">从任务池选择</label>\r\n            <label nz-radio nzValue=\"manual\">手动创建</label>\r\n          </nz-radio-group>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"createWayType === 'taskPool'\">\r\n      <button [nzSize]=\"'small'\" nz-button (click)=\"backToChoseCreateType()\"><i nz-icon nzType=\"left\" nzTheme=\"outline\"></i> 返回</button>\r\n      <div class=\"create-task-form\" style=\"margin-top:10px\">\r\n        <div nz-row>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSpan]=\"6\">选择任务规则</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\">\r\n                <nz-tree-select\r\n                  [(ngModel)]=\"taskRulesValue\"\r\n                  [nzNodes]=\"taskRulesOption\"\r\n                  (nzTreeClick)=\"taskRulesChange($event)\"\r\n                  nzShowSearch\r\n                  nzPlaceHolder=\"请选择\"\r\n                ></nz-tree-select>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item *ngIf=\"taskRuleRelevance == '01'\">\r\n              <nz-form-label [nzSpan]=\"6\">选择关联产品</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\">\r\n                <nz-tag *ngFor=\"let tag of selectProductList; let i = index\" nzMode=\"closeable\" (nzOnClose)=\"handleSelectProductClose(i, tag.code)\">\r\n                  {{tag.name}}\r\n                </nz-tag>\r\n                <span (click)=\"openProductDialog()\" class=\"add-tag-btn\">\r\n                  <i nz-icon nzType=\"plus-circle\" nzTheme=\"outline\"></i>\r\n                </span>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"createWayType === 'manual'\">\r\n      <button [nzSize]=\"'small'\" nz-button (click)=\"backToChoseCreateType()\"><i nz-icon nzType=\"left\" nzTheme=\"outline\"></i> 返回</button>\r\n      <form nz-form [formGroup]=\"addTaskForm\">\r\n        <div nz-row>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzRequired]=\"true\" [nzSpan]=\"6\">面板分组</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"请选择面板分组!\">\r\n                <nz-select formControlName=\"groupId\" nzPlaceHolder=\"请选择面板分组\" (ngModelChange)=\"groupChange($event)\">\r\n                  <nz-option *ngFor=\"let o of boardGroupData\" [nzValue]=\"o.id\" [nzLabel]=\"o.title\"></nz-option>\r\n                </nz-select>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSpan]=\"6\">父级任务</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\">\r\n                <nz-tree-select\r\n                  [nzNodes]=\"parentTaskData\"\r\n                  nzShowSearch\r\n                  nzPlaceHolder=\"请选择\"\r\n                  formControlName=\"parentId\"\r\n                ></nz-tree-select>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzSpan]=\"6\">任务区间 <i style=\"margin-left:5px\" nz-tooltip nzTooltipTitle=\"在日期区间内每天生成任务\" nz-icon nzType=\"info-circle\" nzTheme=\"outline\"></i></nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\">\r\n                <nz-range-picker formControlName=\"taskDate\" (ngModelChange)=\"onTaskDateChange($event)\"></nz-range-picker>\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n          <div nz-col nzSpan=\"12\">\r\n            <nz-form-item>\r\n              <nz-form-label [nzRequired]=\"true\" [nzSpan]=\"6\">任务名称</nz-form-label>\r\n              <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"请输入任务名称!\">\r\n                <input nz-input placeholder=\"任务名称\" formControlName=\"name\" />\r\n              </nz-form-control>\r\n            </nz-form-item>\r\n          </div>\r\n        </div>\r\n      </form>\r\n    </ng-container>\r\n  </div>\r\n  <ng-template #addTaskModalFooter>\r\n    <button type=\"button\" nz-button nzType=\"default\" (click)=\"handleAddTaskCancel()\">关闭</button>\r\n    <button type=\"button\" nz-button nzType=\"primary\" [disabled]=\"!createWayType\" (click)=\"handleAddTaskOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!--=========== 任务状态配置-新增列表 ============-->\r\n<nz-modal [(nzVisible)]=\"isAddStatusListVisible\" [nzTitle]=\"'新增任务状态'\" [nzMaskClosable]=\"false\" [nzWidth]=\"'60%'\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzFooter]=\"addStatusListModalFooter\" (nzOnCancel)=\"handleAddStatusListCancel()\">\r\n  <ng-container *ngIf=\"isAddStatusListVisible\">\r\n    <div class=\"dialog-wrapper\">\r\n      <div class=\"add-task-status-item-btn\">\r\n      <span style=\"cursor: pointer;margin-right:15px\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n        <i nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\r\n        常用状态\r\n      </span>\r\n        <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n          <ul nz-menu nzSelectable>\r\n            <li nz-menu-item (click)=\"quickAddStatus(0, '未开始','rgb(193, 193, 193)')\" style=\"background:rgb(193, 193, 193);color:#fff\">未开始</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(1, '未执行','rgb(202, 182, 65)')\" style=\"background:rgb(202, 182, 65);color:#fff\">未执行</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(2, '已完成','rgb(0, 200, 117)')\" style=\"background:rgb(0, 200, 117);color:#fff\">已完成</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(3, '强制完成','rgb(255, 21, 138)')\" style=\"background:rgb(255, 21, 138);color:#fff\">强制完成</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(4, '异常','rgb(226, 68, 92)')\" style=\"background:rgb(226, 68, 92);color:#fff\">异常</li>\r\n            <li nz-menu-item (click)=\"quickAddStatus(5, '延期','rgb(0, 134, 192)')\" style=\"background:rgb(0, 134, 192);color:#fff\">延期</li>\r\n          </ul>\r\n        </nz-dropdown-menu>\r\n        <span style=\"cursor: pointer;\" (click)=\"openStatusItemDialog()\">\r\n        <i nz-icon nzIconfont='icon-tianjia'></i>\r\n        添加任务状态\r\n      </span>\r\n      </div>\r\n      <nz-table #basicTable [nzData]=\"statusOptionData\" [nzFrontPagination]=\"false\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n        <thead>\r\n        <tr>\r\n          <th nzWidth=\"200px\">状态名称</th>\r\n          <th nzWidth=\"100px\">值</th>\r\n          <th nzWidth=\"250px\">触发事件</th>\r\n          <th nzWidth=\"100px\">操作</th>\r\n        </tr>\r\n        </thead>\r\n        <tbody>\r\n        <tr *ngFor=\"let data of basicTable.data; let i = index\" cdkDrag style=\"cursor: move\">\r\n          <td>\r\n            <div class=\"chose-color\" style=\"margin-right:3px;display: inline-block;cursor: default\">\r\n            <span [style.background]=\"data.color\">\r\n              {{data.label}}\r\n            </span>\r\n            </div>\r\n          </td>\r\n          <td>\r\n            {{data.index}}\r\n          </td>\r\n          <td>\r\n            {{data.event}}\r\n          </td>\r\n          <td>\r\n            <div class=\"row-oprate\">\r\n              <i nz-icon nzIconfont='icon-bianji' title=\"编辑\" style=\"color: #2196F3;font-size: 20px;margin-right:5px;cursor: pointer;\" (click)=\"openStatusOption(data)\"></i>\r\n              <i nz-icon nzIconfont='icon-shanchu' title=\"删除\" style=\"color: #DA4F53;font-size: 20px;cursor: pointer;\" (click)=\"deleteStatusOption(i, data.index)\"></i>\r\n            </div>\r\n          </td>\r\n        </tr>\r\n        </tbody>\r\n      </nz-table>\r\n    </div>\r\n  </ng-container>\r\n  <ng-template #addStatusListModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"handleAddStatusListCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleStatusListOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!--=========== 任务状态配置-新增项 ============-->\r\n<nz-modal [(nzVisible)]=\"isAddStatusItemVisible\" [nzTitle]=\"'任务状态'\" [nzMaskClosable]=\"false\" [nzWidth]=\"'60%'\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzFooter]=\"addStatusItemModalFooter\" (nzOnCancel)=\"handleAddStatusItemCancel()\">\r\n  <ng-container *ngIf=\"isAddStatusItemVisible\">\r\n    <form nz-form [autocomplete]=\"false\" [formGroup]=\"addItemForm\" (ngSubmit)=\"submitItemForm()\">\r\n      <div nz-row>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\" nzRequired>状态名称</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"必填项!\">\r\n              <input nz-input name=\"label\" formControlName=\"label\">\r\n            </nz-form-control>\r\n          </nz-form-item >\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\" nzRequired>任务颜色</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"必填项!\">\r\n              <input nz-input formControlName=\"color\" hidden>\r\n              <div class=\"chose-color\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottomLeft\" [nzPopoverContent]=\"colorContentTemplate\"><span [style.background]=\"currentPanelColor\"></span></div>\r\n              <ng-template #colorContentTemplate>\r\n                <div class=\"group-color-dialog\">\r\n                  <a *ngFor=\"let item of initColor\" (click)=\"changeColor(item)\" class=\"group-color-item\" [ngStyle]=\"{'background': item}\"></a>\r\n                </div>\r\n              </ng-template>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\" nzRequired>状态值</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\" nzErrorTip=\"必填项!\">\r\n              <nz-input-number [nzDisabled]=\"isEditStatusItem\" formControlName=\"index\" [nzMin]=\"1\" [nzStep]=\"1\"></nz-input-number>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\">触发事件</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\">\r\n              <nz-select formControlName=\"event\" [nzPlaceHolder]=\"'请选择'\" nzAllowClear>\r\n                <nz-option nzLabel=\"强制完成\" nzValue=\"forceCompletion\"></nz-option>\r\n                <nz-option nzLabel=\"延期\" nzValue=\"delay\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\">请求URL</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\">\r\n              <input nz-input formControlName=\"url\">\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col nzSpan=\"12\">\r\n          <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"6\">状态标记</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"14\">\r\n              <nz-select [nzDisabled]=\"isEditStatusItem\" formControlName=\"symbol\" [nzPlaceHolder]=\"'请选择'\" nzAllowClear>\r\n                <nz-option *ngFor=\"let o of taskStatusSymbol\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </ng-container>\r\n  <ng-template #addStatusItemModalFooter>\r\n    <button type=\"button\" nz-button nzType=\"default\" (click)=\"handleAddStatusItemCancel()\">关闭</button>\r\n    <button nz-button nzType=\"primary\" (click)=\"handleStatusItemOk()\">确认</button>\r\n  </ng-template>\r\n</nz-modal>\r\n<!--=========== 任务规则管理 ============-->\r\n<nz-drawer\r\n  [nzClosable]=\"true\"\r\n  [nzVisible]=\"isTaskRulesVisible\"\r\n  nzPlacement=\"right\"\r\n  nzTitle=\"任务规则管理\"\r\n  [nzWidth]=\"'80%'\"\r\n  (nzOnClose)=\"taskRulesClose()\">\r\n  <app-task-management *ngIf=\"isTaskRulesVisible\" [taskSystemParameter]=\"taskSystemParameter\" [group]=\"boardGroupData\"></app-task-management>\r\n</nz-drawer>\r\n<!--=========== 选择产品 ============-->\r\n<nz-modal [(nzVisible)]=\"isProductVisible\"\r\n          [nzTitle]=\"'选择产品'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'60%'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"handleProductOk()\"\r\n          (nzOnCancel)=\"handleProductCancel()\">\r\n  <div style=\"margin-bottom:10px\">\r\n    <nz-input-group nzSearch [nzAddOnAfter]=\"suffixIconButton\" style=\"width:300px\">\r\n      <input [(ngModel)]=\"searchProductValue\" (keyup.enter)=\"searchProduct()\" type=\"text\" nz-input placeholder=\"请输入产品名称\" />\r\n    </nz-input-group>\r\n    <ng-template #suffixIconButton>\r\n      <button nz-button nzType=\"primary\" nzSearch (click)=\"searchProduct()\"><i nz-icon nzType=\"search\"></i></button>\r\n    </ng-template>\r\n  </div>\r\n  <nz-table\r\n    #rowSelectionTable\r\n    nzShowSizeChanger\r\n    [nzData]=\"productListOfData\"\r\n    [nzFrontPagination]=\"false\"\r\n    [nzPageIndex]=\"productPageIndex\"\r\n    [nzPageSize]=\"productPageSize\"\r\n    [nzTotal]=\"productPageTotal\"\r\n    [nzScroll]=\"{ y: '300px' }\"\r\n    [nzLoading]=\"isProductLoading\"\r\n    [nzPageSizeOptions]=[20,50,100,200,300]\r\n    (nzPageSizeChange)=\"productSizeChange($event)\"\r\n    (nzPageIndexChange)=\"productIndexChange($event)\"\r\n    (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\">\r\n    <thead>\r\n    <tr>\r\n      <th\r\n        [nzWidth]=\"'50px'\"\r\n        [(nzChecked)]=\"checked\"\r\n        [nzIndeterminate]=\"indeterminate\"\r\n        (nzCheckedChange)=\"onAllChecked($event)\"\r\n      ></th>\r\n      <th>产品名称</th>\r\n      <th>基金代码</th>\r\n      <th>托管机构</th>\r\n    </tr>\r\n    </thead>\r\n    <tbody>\r\n    <tr *ngFor=\"let data of rowSelectionTable.data\">\r\n      <td [nzChecked]=\"setOfCheckedId.has(data.code)\" (nzCheckedChange)=\"onItemChecked(data.code, data.name, $event)\"></td>\r\n      <td>{{ data.name }}</td>\r\n      <td>{{ data.code }}</td>\r\n      <td>{{ data.trustee_text }}</td>\r\n    </tr>\r\n    </tbody>\r\n  </nz-table>\r\n</nz-modal>\r\n<!--=========== 编辑组名 ============-->\r\n<nz-modal [(nzVisible)]=\"isEditGroupNameVisible\"\r\n          [nzTitle]=\"'编辑组名'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'400px'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"handleEditGroupNameOk()\"\r\n          (nzOnCancel)=\"handleEditGroupNameCancel()\">\r\n  <nz-form-item>\r\n    <nz-form-label [nzSpan]=\"6\" nzFor=\"name\">组名称</nz-form-label>\r\n    <nz-form-control [nzSpan]=\"14\">\r\n      <input nz-input name=\"name\" type=\"name\" [(ngModel)]=\"currentEditGroupName\">\r\n    </nz-form-control>\r\n  </nz-form-item >\r\n</nz-modal>\r\n<!--=========== 编辑列名称 ============-->\r\n<nz-modal [(nzVisible)]=\"isEditColumnNameVisible\"\r\n          [nzTitle]=\"'编辑列名称'\"\r\n          [nzMaskClosable]=\"false\"\r\n          [nzWidth]=\"'500px'\"\r\n          [nzWrapClassName]=\"'vertical-center-modal'\"\r\n          (nzOnOk)=\"handleEditColumnNNameOk()\"\r\n          (nzOnCancel)=\"handleEditColumnNameCancel()\">\r\n  <ng-container *ngIf=\"isEditColumnNameVisible\">\r\n    <nz-form-item>\r\n      <nz-form-label [nzSpan]=\"6\" nzFor=\"name\">列名称</nz-form-label>\r\n      <nz-form-control [nzSpan]=\"16\">\r\n        <input nz-input name=\"name\" type=\"name\" [(ngModel)]=\"currentColumnData.title\">\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </ng-container>\r\n</nz-modal>\r\n<!--=========== 日志按钮组件 ============-->\r\n<!-- 稽核结果弹窗 -->\r\n<nz-modal\r\n  nzWrapClassName=\"vertical-center-modal\"\r\n  [(nzVisible)]=\"auditModalVisible\"\r\n  [nzTitle]=\"'稽核结果'\"\r\n  [nzWidth]=\"'80%'\"\r\n  [nzOkText]=\"null\"\r\n  nzCancelText=\"关闭\"\r\n  (nzOnCancel)=\"auditModalVisible=false;\">\r\n  <div class=\"audit-center\" *ngIf=\"auditModalVisible\">\r\n    <div class=\"audit-panel\">\r\n      <div class=\"autiding-bottom connect\">\r\n        <div class=\"autiding-item\" *ngFor=\"let item of auditList\" [attr.id]=\"item.id\" (click)=\"openAuditDetail(item)\">\r\n          <span>{{ item.name }}</span>\r\n          <label style=\"color: #FA541C;font-size:12px;\" *ngIf=\"item.status === 'abnormal'\">{{item.exceptionCount}}项</label>\r\n          <label style=\"color: #FA541C;font-size:12px;\" *ngIf=\"item.status === 'error'\">错误</label>\r\n          <label style=\"color: #45C165;font-size:12px;\" *ngIf=\"item.status === 'normal'\">完成</label>\r\n          <label style=\"color: #AAAAAA;font-size:12px;\" *ngIf=\"item.status === 'not_scan'\">未扫描</label>\r\n          <label style=\"color: #fa9c0f;font-size:12px;\" *ngIf=\"item.status === 'in_progress'\">扫描中</label>\r\n          <div class=\"autiding-oprate\">\r\n            <span>时间\r\n              <span [title]=\"item.schedule.schedulerDescription\" style=\"padding-left: 5px;\">{{item.schedule.schedulerDescription}}</span>\r\n              <nz-tag *ngIf=\"item.source==='out'\" [nzColor]=\"'#f50'\" style=\"margin-left: 5px;\">{{getOutSystemName(item.outSystem)}}</nz-tag>\r\n            </span>\r\n            <div class=\"audit-oprate\">\r\n              <i *ngIf=\"item.description\" nz-tooltip [nzTooltipTitle]=\"item.description\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\" style=\"color: #F6A624;\"></i>\r\n              <ng-template [ngxPermissionsOnly]=\"currentPulseData.columnPermissions[currentColumnData.id]\">\r\n                <div *ngIf=\"item.status !== 'in_progress'\" style=\"display: inline-block;\" (click)=\"refreshAudit($event, item.id, null, 'single')\">\r\n                  <i nz-icon nzIconfont=\"icon-xingzhuang1\" style=\"margin-right: 5px;\"></i>\r\n                  <span>扫描</span>\r\n                </div>\r\n              </ng-template>\r\n              <label style=\"font-size:12px;\" (click)=\"openAuditDetail(item)\">扫描结果</label>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</nz-modal>\r\n<!-- 监控结果弹窗 -->\r\n<nz-modal\r\n  nzWrapClassName=\"vertical-center-modal\"\r\n  [(nzVisible)]=\"monitorModalVisible\"\r\n  [nzTitle]=\"'监控结果'\"\r\n  [nzWidth]=\"'80%'\"\r\n  [nzOkText]=\"null\"\r\n  nzCancelText=\"关闭\"\r\n  (nzOnCancel)=\"monitorModalVisible=false;\">\r\n  <div class=\"supervisory-center\">\r\n    <div class=\"supervisory-panel-detail\">\r\n      <div class=\"autiding-bottom connect\">\r\n        <div class=\"autiding-item\" *ngFor=\"let item of monitorList\" [attr.id]=\"item.id\" (click)=\"openMonitorDetail(item)\">\r\n          <span>{{ item.name }}</span>\r\n          <label style=\"color: #FA541C;font-size:12px\" *ngIf=\"item.status === 'abnormal'\">{{item.exceptionCount}}项</label>\r\n          <label style=\"color: #FA541C;font-size:12px\" *ngIf=\"item.status === 'error'\">错误</label>\r\n          <label style=\"color: #45C165;font-size:12px\" *ngIf=\"item.status === 'normal'\">完成</label>\r\n          <label style=\"color: #AAAAAA;font-size:12px\" *ngIf=\"item.status === 'not_scan'\">未扫描</label>\r\n          <label style=\"color: #fa9c0f;font-size:12px\" *ngIf=\"item.status === 'in_progress'\">扫描中</label>\r\n          <div class=\"autiding-oprate\">\r\n             <span>时间\r\n              <span [title]=\"item.schedule.schedulerDescription\" style=\"padding-left: 5px;\">{{item.schedule.schedulerDescription}}</span>\r\n              <nz-tag *ngIf=\"item.source==='out'\" [nzColor]=\"'#f50'\" style=\"margin-left: 5px;\">{{getOutSystemName(item.outSystem)}}</nz-tag>\r\n            </span>\r\n            <div class=\"audit-oprate\">\r\n              <i *ngIf=\"item.description\" nz-tooltip [nzTooltipTitle]=\"item.description\" nz-icon nzType=\"question-circle\" nzTheme=\"outline\" style=\"color: #F6A624;\"></i>\r\n              <ng-template [ngxPermissionsOnly]=\"currentPulseData.columnPermissions[currentColumnData.id]\">\r\n                <div *ngIf=\"item.status !== 'in_progress'\" style=\"display: inline-block;\" (click)=\"refreshMonitor($event, item.id, null, 'single')\">\r\n                  <i nz-icon nzIconfont=\"icon-xingzhuang1\" style=\"margin-right: 5px;\"></i>\r\n                  <span>刷新</span>\r\n                </div>\r\n              </ng-template>\r\n              <label style=\"font-size:12px;\" (click)=\"openMonitorDetail(item)\">扫描结果</label>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</nz-modal>\r\n<!-- 稽核检查项详情 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"checkVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal noPadding'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzOkText]=\"null\"\r\n  [nzCancelText]=\"null\"\r\n  (nzOnCancel)=\"checkCancle()\"\r\n  nzWidth=\"100%\"\r\n  nzTitle=\"检查项详情\"\r\n>\r\n  <nf-check-list #checkList></nf-check-list>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" (click)=\"exportExcel()\">导出excel</button>\r\n    <button nz-button nzType=\"default\" (click)=\"checkCancle()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n<!-- 监控检查项详情 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"checkMonitorVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal noPadding'\"\r\n  [nzMaskClosable]=\"false\"\r\n  (nzOnCancel)=\"checkMonitorCancle()\"\r\n  nzWidth=\"100%\"\r\n  nzTitle=\"检查项详情\"\r\n>\r\n  <app-ratio-superisory #ratioSuperisory></app-ratio-superisory>\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"primary\" nz-dropdown [nzDropdownMenu]=\"batchOperation\">发送提醒 <i nz-icon nzType=\"down\" style=\"font-size:12px;\"></i></button>\r\n    <nz-dropdown-menu #batchOperation=\"nzDropdownMenu\">\r\n      <ul class=\"table-size-list\" nz-menu>\r\n        <li nz-menu-item (click)=\"sendWarned('all')\">发送全部</li>\r\n        <li nz-menu-item (click)=\"sendWarned('checked')\">发送选择</li>\r\n      </ul>\r\n    </nz-dropdown-menu>\r\n    <button nz-button nzType=\"primary\" (click)=\"exportMonitorExcel()\">excel导出</button>\r\n    <button nz-button nzType=\"default\" (click)=\"checkMonitorCancle()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n<!-- 报表明细 -->\r\n<nz-modal\r\n  [(nzVisible)]=\"reportVisible\"\r\n  [nzWrapClassName]=\"'vertical-center-modal noPadding'\"\r\n  [nzMaskClosable]=\"false\"\r\n  [nzOkText]=\"null\"\r\n  [nzCancelText]=\"null\"\r\n  (nzOnCancel)=\"checkReportCancle()\"\r\n  nzWidth=\"80%\"\r\n  nzTitle=\"报表明细\">\r\n  报表明细\r\n  <div *nzModalFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"checkReportCancle()\">关闭</button>\r\n  </div>\r\n</nz-modal>\r\n","styles":[".nz-resizable-preview{border:1px dashed #d1d1d1;left:0;position:absolute;top:0;z-index:8}.nz-resizable-handle{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;position:absolute;user-select:none;z-index:9}.nz-resizable-handle-top{height:10px;left:0;top:-5px;width:100%}.nz-resizable-handle-right{height:100%;right:-5px;top:0;width:10px}.nz-resizable-handle-bottom{bottom:-5px;height:10px;left:0;width:100%}.nz-resizable-handle-left{height:100%;left:-5px;top:0;width:10px}.nz-resizable-handle-topRight{height:20px;right:-5px;top:-5px;width:20px;z-index:10}.nz-resizable-handle-bottomRight{bottom:-5px;height:20px;right:-5px;width:20px;z-index:10}.nz-resizable-handle-bottomLeft{bottom:-5px;height:20px;left:-5px;width:20px;z-index:10}.nz-resizable-handle-topLeft{height:20px;left:-5px;top:-5px;width:20px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:ns-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:ew-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.nz-resizable-disabled .nz-resizable-handle{pointer-events:none}@font-face{font-family:iconfont;src:url(/assets/fonts/font.eot?t=1610973423978);src:url(/assets/fonts/font.eot?t=1610973423978#iefix) format(\"embedded-opentype\"),url(\"data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAL4AAsAAAAAB1AAAAKpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCOIIWATYCJAMMCwgABCAFhG0HNhtcBsiuMYUxdrXIMpxhVXcWL8yyKugz4fccbjx8v9//1j7nvPtFJLlUn04S8el4JPEjdDIh4aHTyOLT9WitzWNev03/9/gJsySe9u7mTObmrWFSmjeuFCI0KoQGjQRZMMPVEzxDZHog1Pxflob21sdNAgMgG3A5/W9YFsg8oBznGPrUtCgOKNA9MIpkgTwm5g1jV17EbQKNRhXl9hbXt2BIYSwKxHXHUjCUiigKy9cLVcnOIvZRnx6lN+Cx//34ph71JLXMWHng4oIB0x+LVXjw/8guQTqeC2wfGXNAIU6WZg7rFYzbq1HTV19eKUIaK/74ElVVmX94JEFUjNpmMIWyiY9FWxJrK1B21jdlUKEBp4FbDE43YaivmultaLht7GxRO7r19MGTZ41Prx6+bsSDXCojb9oPwswlP3ihyYOfrr07uOvnT6tNlM9zN6ae//GXTe0r3qMh61Phy9lv/y9Tg7EKHyBXDuUH7asdq4o8lGy1hf/n13To56TnPP0P6PH3Te+pSX+HRgv4UPAXDP1XoF01qJdoLX3j0pZtRZUb1lxkiS3R89lRQ/dj1qj6/c8IdPrqb+i5K1eoT0kZkjojyOqNkYU9h5oma6jU20SjWUv7m3RhvaI0YMY5QGiXIWn1Glm7d7KwP1HT6xuV9shodDA4sclEXBmJSQkZqHXR0aPQtOwyEtRvkNX0FSflPm+HOHXiWFtYyuaXKCQeY03asuoiJpocBbgI7iPfjzDmyCVdyrZI3KgsXix7UlmPAhixixFFEAPSdCGHLhIy3dFiJPf5DcTS5FO4hlIR30FYypkc1ZRVW5BLmrAV5VoeSbVY6oQwIROLBNAicBHfzERQXD7NRXSizO6RijVUUDezraY8vy54vmPQyLgsR4ocRe2cTbrXNysLAAAAAA==\") format(\"woff2\"),url(/assets/fonts/font.woff?t=1610973423978) format(\"woff\"),url(/assets/fonts/font.ttf?t=1610973423978) format(\"truetype\"),url(/assets/fonts/font.svg?t=1610973423978#iconfont) format(\"svg\")}.iconfont{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:iconfont!important;font-size:16px;font-style:normal}.iconfont-check:before{content:\"\\e62f\"}.iconfont-drag:before{content:\"\\e62c\"}.application{display:flex;flex-direction:column;height:100%;width:100%}.first-level-content{flex-grow:1;height:100%;overflow:hidden;position:relative}.tree-table-component{height:100%;position:relative;width:100%}.add-field-icon{cursor:pointer;font-size:20px}::ng-deep .tree-table-tabs .ant-tabs-tab{display:inline;margin:0;min-width:120px;text-align:left}::ng-deep .tree-table-component .ant-table-thead>tr>th{background:#fff!important}::ng-deep .tree-table-component .ant-table-thead>tr>th:hover,::ng-deep .tree-table-component .ant-table.ant-table-small .ant-table-thead>tr>th:hover{background:#fafafa!important}::ng-deep .tree-table-component .ant-table-tbody>tr.ant-table-row>td{background-color:#f5f6f8!important;border-right:1px solid #fff!important}::ng-deep .tree-table-component .ant-table-tbody>tr.ant-table-row:hover>td{background-color:#e6e9ef!important}::ng-deep .tree-table-component .ant-table-thead>tr>th{border-bottom:1px solid transparent!important}::ng-deep .tree-table-component .ant-table.ant-table-small .ant-table-thead>tr>th{background:transparent}::ng-deep .tree-table-component .ant-table-tbody>tr>td{border-bottom:1px solid #e6e9ef!important;border-top:1px solid #fff!important}::ng-deep .tree-table-component .ant-table-tbody>tr>td:first-child{border-bottom:none!important;border-top:1px solid #fff!important}.name-pulse-column,.tree-table-component .name-column{background:hsla(0,0%,100%,.7)!important}.tree-table-component .name-column:hover{background:#fafafa}.tree-table-component .name-pulse-column:hover{background:#fff!important}.pulse-right-indicator{background-color:#f5f6f8;border-right:8px solid #e6e9ef}.tree-table-component .name-column-indicator{background:#fff!important;padding:0;text-align:right}::ng-deep .tree-table-component .ant-table-body::-webkit-scrollbar{height:12px!important;width:17px!important}.resize-trigger{background-color:transparent;bottom:0;cursor:ew-resize;position:absolute;right:4px;top:0;transition:background .1s ease;width:4px}.resize-trigger:hover{background-color:#0085ff}.nz-resizable-preview{border-width:0 1px 0 0}.name-column{background:hsla(0,0%,100%,.8)!important}.column-header .column-header-element-wrapper{position:absolute;right:10px;top:12px;width:20px}.column-header-left-wrapper{left:10px;position:absolute}.column-header .drag-handle{cursor:move;flex:0 0 auto;font-size:17px;margin-top:5px;opacity:0;width:0}.column-header:hover .caret-down,.column-header:hover .drag-handle,.set-column-current-bg .caret-down{opacity:1}.caret-down{background:#f5f6f8;border-radius:4px;color:#323338;cursor:pointer;font-size:11px;height:18px;margin-top:-3px;opacity:0;text-align:center;vertical-align:inherit;width:18px}.caret-down:hover{background:#dadde3}.column-menu{align-items:center;display:flex;justify-content:center;padding-bottom:1px;z-index:1}::ng-deep .cdk-drag-preview{display:table}::ng-deep .cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-shadow:0 2px 2px -1px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-sizing:border-box}.pulse-left-indicator{cursor:pointer;flex:0 0 8px;height:100%;left:0;position:absolute;top:0;transition:flex-basis .1s ease-in}.pulse-left-indicator:before{bottom:0;content:\"\";left:8px;position:absolute;top:0;width:24px}.pulse-left-indicator .left-indicator-inner{height:100%;overflow:hidden;position:relative;transition:width .07s cubic-bezier(0,0,.35,1);width:8px;will-change:width}.pulse-left-indicator .open-selection.left-indicator-inner{width:32px}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox{align-items:center;background-color:inherit;background-color:rgba(0,0,0,.2);display:flex;height:14px;justify-content:center;left:9px;outline:1px solid hsla(0,0%,100%,.2);position:absolute;top:50%;transform:translateY(-50%);width:14px}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox .left-indicator-checkbox-mark{font-size:10px;opacity:0;transition:opacity .07s cubic-bezier(0,0,.35,1)}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected{background-color:#fff}.pulse-left-indicator .left-indicator-inner .left-indicator-checkbox.selected .left-indicator-checkbox-mark{opacity:1}.pulse-left-indicator:hover.can-edit .left-indicator-inner{width:32px}.title-wrapper{line-height:24px;margin-left:35px;padding-right:30px}::ng-deep .tree-table-component .ant-table-row-expand-icon{margin-left:35px;margin-top:5px}.pulse-menu-component{align-items:center;background-color:transparent!important;display:flex;flex:0 0 30px;justify-content:center;left:0;max-width:30px;position:relative;z-index:1}.pulse-menu-component .ds-menu-button-container{opacity:0}.pulse-component-wrapper:hover .pulse-menu-component .ds-menu-button-container,.set-pulse-current-bg>.pulse-menu-component .ds-menu-button-container{opacity:1}.pulse-menu-component .ds-menu-button{align-items:center;background-color:#e6e9ef;border-radius:4px;cursor:pointer;display:flex;height:16px;justify-content:center;width:16px}.group-menu-button i{font-size:13px;transform:rotate(90deg)}.editable-input{background:transparent;border:1px solid transparent;border-radius:0;cursor:pointer;font-size:14px;outline:none;padding:0 3px;text-align:left;width:100px}.editable-pulse-name-input{background:#fff;border:1px dashed rgba(0,0,0,.3);border-radius:0;min-height:50px;outline:none;overflow:auto;padding:0 3px;text-align:left;width:85%}.editable-cell{border:1px dashed transparent;cursor:pointer}.editable-cell:hover{border:1px dashed rgba(0,0,0,.3)}.editable-pulse-input{height:36px;margin-left:2px;padding:0 5px;text-align:left;width:calc(100% - 4px)}.editable-column-input,.editable-pulse-input{background:transparent;border:1px solid transparent;border-radius:0;outline:none}.editable-column-input{padding:3px;text-align:center;width:60%}.editable-column-input:hover,.editable-pulse-input:hover,.editable-pulse-name-input:hover{border:1px dashed rgba(0,0,0,.3)}.editable-column-input:focus,.editable-pulse-input:focus,.editable-pulse-name-input:focus{background:#fff;border:1px dashed transparent;cursor:text;outline:none}.add-column-menu{min-width:120px}.add-column-menu li{cursor:pointer;padding:7px}.col-menu li{display:inline-block;width:50%}.add-column-menu li:hover{background:#2196f3;border-radius:4px;color:#fff}.add-column-menu i{font-size:20px;margin-right:5px;vertical-align:middle}.add-column-menu .add-column-menu_disabled,.add-column-menu .add-column-menu_disabled:hover{background:transparent;color:#ccc;cursor:default}.create-time-header{display:block;margin-top:-8px;text-align:center;width:100%}.group-color-dialog{background:#fff;line-height:0;padding:5px;position:relative;width:142px}.group-color-dialog .group-color-item{border-radius:50%;cursor:pointer;display:inline-block;height:20px;margin:3px;transition:opacity .1 ease;width:20px}.icon-enter{color:rgba(0,0,0,.3);cursor:pointer;font-size:20px}.batch-actions-menu-wrapper.react-boards{position:fixed}.batch-actions-menu-wrapper{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#fff;border-radius:5px;bottom:15px;box-shadow:0 22px 104px -6px rgba(0,0,0,.34);display:flex;flex-direction:row;height:63px;left:240px;position:absolute;transition:bottom .2s ease;user-select:none;width:800px;z-index:999}.batch-actions-menu-wrapper .num-of-actions_wrapper{background:#2196f3;border-radius:5px 0 0 5px;color:#fff;cursor:default;display:flex;flex-direction:column;justify-content:center;text-align:center;width:63px}.batch-actions-menu-wrapper .num-of-actions_wrapper .num-of-actions{font-size:30px}.batch-actions-menu-wrapper .batch-actions-title-section{cursor:default;display:flex;flex:1;flex-direction:column;justify-content:center}.batch-actions-menu-wrapper .batch-actions-title-section .title{color:#333;font-size:22px;font-weight:100;max-width:300px;overflow:hidden;padding-left:20px;text-overflow:ellipsis;white-space:nowrap}.batch-actions-title-section .pulses_dots{align-items:center;color:#333;display:flex;flex-direction:row;height:20px;max-width:460px;padding-left:20px}.batch-actions-title-section .pulses_dots .dot{border-radius:20px;height:8px;margin-right:5px;width:8px}.batch-actions-item{cursor:pointer;display:flex;flex-direction:column;margin-right:20px;text-align:center}.batch-actions-item.disable,.batch-actions-item.disable .action-icon:hover{color:#ccc;cursor:default}.batch-actions-item .action-name{color:#333;position:relative;top:-5px}.batch-actions-item.disable .action-name{color:#ccc;position:relative;top:-5px}.batch-actions-item .action-icon.icon-v2-binline-o{top:3px}.batch-actions-item .action-icon{font-size:28px;position:relative}.batch-actions-item .action-icon:hover{color:#2196f3}.batch-actions-menu-wrapper .batch-actions-delete-item{border-left:2px solid #f1f1f1;color:#333;cursor:pointer;display:flex;flex-direction:column;font-size:22px;justify-content:center;text-align:center;width:63px}.column-title-lock{color:#9a9a9a;font-size:14px;margin-right:5px}.column-title-lock:hover{color:#2196f3}.column-lock-icon{cursor:pointer;font-size:16px;vertical-align:middle}::ng-deep .tree-table-component .ant-table.ant-table-small .ant-table-tbody>tr>td{height:36px;line-height:36px;padding:0!important}.posts-indicator-component{cursor:pointer;display:flex;justify-content:center;padding:0 4px;position:absolute;right:5px;top:3px;z-index:999}.posts-indicator-component .conversation-indicator-icon{color:#c5c7d0;font-size:25px;height:24px;line-height:28px;min-width:24px;position:relative}.date-editable{background:#f5f6f8;border:1px solid transparent;border-radius:0;margin-left:2px;min-height:32px;width:calc(100% - 4px)}.date-editable:hover{background:#e6e9ef;border:1px dashed rgba(0,0,0,.3)}::ng-deep .status-component-wrapper{cursor:pointer;height:36px;line-height:36px;text-align:center}.updates-count{background:#c5c7d0;background:#009aff;border-radius:10px;color:#fff;font-size:10px;font-weight:400;left:12px;line-height:9px;padding:2px 4px;position:absolute;top:13px}.button-cell,.updates-count{text-align:center}.button-pulse-config-icon{cursor:pointer;position:absolute;right:5px;top:10px}.button-cell .button-pulse-config-icon i{font-size:18px;opacity:0}.button-cell .button-pulse-config-icon i:hover{color:#2196f3}.button-cell:hover .button-pulse-config-icon i{opacity:1}.button-cell .set-pulse-current-bg.button-pulse-config-icon i{color:#2196f3;opacity:1}.button-config-wrapper{min-height:80px;min-width:340px}.button-config_select-title{margin-bottom:10px}.button-config_edit-status{color:#009aff;cursor:pointer;display:flex;height:30px;line-height:30px}.button-config_edit-status,.button-config_edit-status div{text-align:center;width:100%}.button-config_edit-status div:hover{background:#009aff;border-radius:4px;color:#fff}.button-config_select-radio-edit{position:absolute;right:30px}.button-config_select-radio-remove{position:absolute;right:5px}.button-config_select-radio-edit i{font-size:18px}.button-config_select-radio-remove i{font-size:15px}.button-config_select-radio-edit:hover i,.button-config_select-radio-remove:hover i{color:#009aff}::ng-deep .button-config_select-add .ant-form-item{margin-bottom:0}::ng-deep .nf-select{text-align:center}::ng-deep .vote-button{cursor:pointer}::ng-deep .votes-bar-component .votes-bar{bottom:5px!important;height:26px!important;position:absolute!important}::ng-deep .tree-table-tabs .ant-tabs-tab{font-size:14px;margin-right:10px;min-width:100px;text-align:center}.board-header-component{text-align:right}.filter-button{cursor:pointer;display:inline;margin-right:5px;text-align:center}.filter-item-title{color:grey;font-size:13px;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis}.filter-item-content{overflow-y:auto}.filter-item-content::-webkit-scrollbar{width:3px}.filter-option{align-items:center;background:#f5f5f5;border-bottom:1px solid #e1e1e1;cursor:pointer;display:flex;font-size:13px;height:32px;justify-content:center;margin-bottom:4px;padding:5px 8px;text-decoration:none;transition:background-color .1s ease}.filter-option:not(.selected):hover{background-color:#e1e1e1}.selected{background-color:#d9f0ff}.selected:hover{background-color:#c0e6ff}.filter-option-content{display:flex;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-option-counter{color:#a1a1a1;flex:0 0 auto;font-size:12px;font-weight:100;margin-left:5px}.status-circle{border:1px solid;border-radius:50%;display:inline-block;flex:0 0 auto;height:10px;margin-right:5px;margin-top:5px;width:10px}.board-content-component{background:#fff;box-sizing:content-box;padding-bottom:10px;padding-left:0;padding-top:10px}.board-content-wrapper{box-sizing:content-box;padding-right:30px}.add-task-status-item-btn{margin-bottom:5px;text-align:right}.add-task-status-item-btn,.add-task-status-item-btn i{color:#2196f3}.chose-color{cursor:pointer}.chose-color span{border:1px solid #ccc;border-radius:4px;color:#fff;display:inline-block;height:30px;line-height:30px;text-align:center;vertical-align:bottom;width:100px}.chose-color i{color:#ccc;font-size:11px}.task-statistics-component{display:flex;padding:10px;position:relative}.task-statistics-item{position:relative;width:130px}.task-statistics-item:after{background:#f0f0f0;content:\"\";display:block;height:2px;left:55px;position:absolute;top:28px;width:65px}.task-statistics-component .task-statistics-item:last-child:after{width:0}.task-statistics-item span{display:block;height:24px;overflow:hidden;text-align:center;text-overflow:ellipsis;width:50px}::ng-deep .ant-tabs-top>.ant-tabs-nav{margin-bottom:0}.add-tag-btn{color:#2196f3;cursor:pointer;font-size:18px;margin-left:5px}::ng-deep .ant-tag{margin-bottom:5px}.task-button-component{text-align:left}.task-button-item{margin:2px 5px}.audit-center{background:#fff;display:flex;height:100%}.audit-panel{width:100%}.audit-panel-add{padding:10px 10px 0 20px;position:relative}.audit-panel-add h1{color:#4a4a4a;font-size:12px;height:20px;line-height:20px}.panel-oprate{display:none;position:absolute;right:11px;top:7px}.add-panel{padding-right:10px}.add-panel /deep/ .ant-form-explain{bottom:-16px;position:absolute}.panel-edit{color:#41b8ff;font-size:16px;margin-right:5px}.panel-delete,.panel-edit{cursor:pointer;display:inline-block}.panel-delete{color:red;font-size:15px}.manual-img{height:207px;padding:19px 23px 0 27px}.autiding-top .autiding-tip{flex:7;padding-top:25px}.autiding-tip ul li{display:inline-block;width:80px}.autiding-tip ul li p{color:#4f4f4f;font-size:24px;height:34px;line-height:34px;margin-bottom:6px}.autiding-tip ul li span{color:#4f4f4f;display:inline-block;font-size:14px;height:20px;line-height:20px;opacity:.8}.autiding-tip button{background:#00b3f0;border:none;border-radius:26px;color:#fff;cursor:pointer;height:40px;line-height:40px;margin-bottom:14px;margin-top:13px;outline:none;width:178px}.autiding-bottom{padding:0 0 10px 12px}.autiding-item{background:#fff;border:1px solid #f7f7f7;border-radius:4px;border-radius:3px;box-shadow:1px 3px 3px rgba(0,0,0,.1);cursor:pointer;display:inline-block;float:left;height:90px;margin-right:1%;margin-top:10px;padding:12px 6px;position:relative;width:32.33%}.autiding-item>label{color:#f22735;position:absolute;right:10px;top:9px}.autiding-oprate{bottom:8px;position:absolute;right:0;width:100%}.autiding-oprate i{color:#41b8ff;cursor:pointer;font-size:14px;margin-left:10px;position:relative;top:2px}.autiding-oprate>span{color:#4a4a4a;display:inline-block;font-size:12px;opacity:.7;overflow:hidden;padding-left:6px;text-overflow:ellipsis;white-space:nowrap;width:96%}.autiding-oprate label{color:#2196f3;cursor:pointer;font-size:14px;margin-left:10px}.autiding-oprate>div{color:#2196f3;cursor:pointer;margin-left:12px}@-webkit-keyframes myAnimation{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.autiding-add-item{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.autiding-add-item>i{color:#cdcdcd;cursor:pointer;font-size:26px;margin-right:12px}.autiding-add-item>span{color:#4a4a4a;display:inline-block;font-size:18px;height:26px;line-height:26px;opacity:.88;position:relative;top:-3px}.auditing-authority{height:30px;margin:11px 0 10px;position:relative}.auditing-authority>ul{border:1px solid #2196f3;border-radius:3px;position:absolute;right:12px}.auditing-authority>ul li{color:#2e8de3;cursor:pointer;display:inline-block;font-size:12px;height:28px;line-height:28px;padding:0 10px}.auditing-authority>ul li i{font-size:15px;margin-right:5px}.audit-oprate{background:#fff;display:inline-block;margin-left:0;padding-right:11px;position:absolute;right:0}.item-scaning /deep/ .ant-progress-circle .ant-progress-text{display:none}.item-scaning>span{color:#4f4f4f;font-size:11px}.setReloadData{position:absolute;right:359px;top:6px}.setReloadData>span{margin-right:10px}.shift-audit{padding-top:12px}.supervisory-type-item li{padding-left:28px}.add-icon{border:1px solid rgba(0,0,0,.65);border-radius:12px;display:inline-block;height:12px;line-height:9px;margin-right:5px;text-align:center;width:12px}.supervisory-center{background:#fff;display:flex;height:100%}.supervisory-panel{border-right:1px solid #ececec;display:flex;flex-direction:column;width:200px}.supervisory-panel .audit-panel-add{margin-bottom:5px;padding:10px 10px 0;position:relative}.supervisory-panel .audit-panel-add h1{color:#4a4a4a;font-size:12px;height:20px;line-height:20px}.panel-add-icon{background:#2196f3;border-radius:17px;color:#fff;cursor:pointer;display:inline-block;font-size:19px;height:17px;line-height:13px;position:absolute;right:11px;text-align:center;top:11px;width:17px}.supervisory-type-item>div{padding-right:40px;position:relative}.supervisory-type-item .panel-oprate{display:none;position:absolute;right:2px;top:2px}.supervisory-type-item>div:hover .panel-oprate{display:inline}.supervisory-type-item h5{font-size:12px;height:25px;line-height:25px;margin-bottom:0;overflow:hidden;padding-left:10px;text-overflow:ellipsis;white-space:nowrap}.currentPanel{background:#e9f2fb;border-right:2px solid #1890ff}.supervisory-type-item li{cursor:pointer;font-size:12px;height:30px;line-height:30px;overflow:hidden;padding-left:25px;padding-right:40px;position:relative;text-overflow:ellipsis;white-space:nowrap}.supervisory-type-item>ul li:hover .panel-oprate{display:inline}.supervisory-panel .panel-edit{color:#41b8ff;cursor:pointer;display:inline-block;font-size:16px;margin-right:5px}.supervisory-panel .panel-delete{color:red;cursor:pointer;display:inline-block;font-size:15px}.current-type{background:#eafbff}.supervisory-panel-detail{flex:1}.supervisory-panel-detail .auditing-authority{height:30px;margin:11px 0 10px;position:relative}.supervisory-panel-detail .auditing-authority>ul{border:1px solid #2196f3;border-radius:3px;position:absolute;right:12px}.supervisory-panel-detail .auditing-authority>ul li{color:#2e8de3;cursor:pointer;display:inline-block;font-size:12px;height:28px;line-height:28px;padding:0 10px}.supervisory-panel-detail .auditing-authority>ul li i{font-size:15px;margin-right:5px}.supervisory-panel-detail .autiding-top{background-size:100% 100%;border:1px solid #f7f7f7;border-radius:3px;box-shadow:1px 3px 3px rgba(0,0,0,.1);display:flex;margin:0 12px}.supervisory-panel-detail .autiding-top>div{display:inline-block;position:relative;width:250px}.supervisory-panel-detail .autiding-top div h1{color:#2ece8e;font-size:27px;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supervisory-panel-detail .autiding-top .autiding-tip{flex:7;padding-top:25px}.supervisory-panel-detail .autiding-tip ul li{display:inline-block;width:80px}.supervisory-panel-detail .autiding-tip ul li p{color:#4f4f4f;font-size:24px;height:34px;line-height:34px;margin-bottom:6px}.supervisory-panel-detail .autiding-tip ul li span{color:#4f4f4f;display:inline-block;font-size:14px;height:20px;line-height:20px;opacity:.8}.supervisory-panel-detail .autiding-tip button{background:#00b3f0;border:none;border-radius:26px;color:#fff;cursor:pointer;height:40px;line-height:40px;margin-bottom:14px;margin-top:13px;outline:none;width:178px}.circle1{border-radius:207px;height:207px;left:20px;opacity:.06;position:relative;top:0;width:207px}.circle2{border-radius:150px;height:150px;left:48px;opacity:.18;position:absolute;top:30px;width:150px}.circle3{border-radius:100px;height:100px;left:72px;position:absolute;text-align:center;top:54px;width:100px}.linearGradient1{background:linear-gradient(158.63deg,#f1bb76 3.73%,#f22735 89.52%);color:#fff;padding-top:20px}.linearGradient1 p{position:relative;text-align:center;top:20px}.linearGradient1 h2{color:#fff;font-size:25px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linearGradient2{background:linear-gradient(158.63deg,#6ed8f9 3.73%,#4387c5 89.52%);color:#fff;line-height:46px}.linearGradient2 h2{color:#fff;font-size:30px;margin:0;position:relative;top:12px}.linearGradient4{background:linear-gradient(158.63deg,#ebebeb 3.73%,#aaa 89.52%);color:#fff}.linearGradient4 p{position:relative;text-align:center;top:40px}.circleLoading{-webkit-animation:myAnimation 1.5s linear infinite;animation:myAnimation 1.5s linear infinite;opacity:1}@keyframes myAnimation{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.linearGradient3{background:linear-gradient(158.63deg,#86fdaf 3.73%,#45c165 89.52%);color:#fff;padding-top:30px}.linearGradient3 p{position:relative;text-align:center;top:10px}.supervisory-panel-detail .autiding-bottom{display:flex;flex-wrap:wrap;padding:0 0 10px 12px}.supervisory-panel-detail .autiding-item{background:#fff;border:1px solid #f7f7f7;border-radius:4px;border-radius:3px;box-shadow:1px 3px 3px rgba(0,0,0,.1);cursor:pointer;display:inline-block;float:left;height:90px;margin-right:1%;margin-top:10px;padding:12px 6px;position:relative;width:32.33%}.supervisory-panel-detail .autiding-item>label{color:#f22735;position:absolute;right:10px;top:9px}.supervisory-panel-detail .autiding-oprate{bottom:8px;position:absolute;right:0;width:100%}.supervisory-panel-detail .autiding-oprate i{color:#41b8ff;cursor:pointer;font-size:15px;margin-left:10px;position:relative;top:2px}.supervisory-panel-detail .autiding-oprate>span{color:#4a4a4a;display:inline-block;font-size:12px;opacity:.7;overflow:hidden;padding-left:6px;text-overflow:ellipsis;white-space:nowrap;width:96%}.supervisory-panel-detail .autiding-oprate label{color:#2196f3;cursor:pointer;font-size:14px;margin-left:10px}.supervisory-panel-detail .autiding-oprate>div{color:#2196f3;cursor:pointer;margin-left:12px}.supervisory-panel-detail .autiding-add-item{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.supervisory-panel-detail .autiding-add-item>i{color:#cdcdcd;cursor:pointer;font-size:26px;margin-right:12px}.supervisory-panel-detail .autiding-add-item>span{color:#4a4a4a;display:inline-block;font-size:18px;height:26px;line-height:26px;opacity:.88;position:relative;top:-3px}.set-auto,.set-hand{background:#3cdb55;border-radius:2px;border-radius:14px;color:#fff;display:inline-block;font-size:7px;height:14px;left:8px;line-height:14px;position:absolute;text-align:center;top:7px;width:14px}.set-auto{transform:scale(.9)}.set-hand{background:#f2c94c!important;padding:0 2px}.supervisory-type-item li:hover>.show-num{display:none}.show-num{background:#f6414a;border-radius:2px;color:#fff;display:inline-block;font-size:7px;height:14px;line-height:14px;padding:0 2px;position:absolute;right:5px;top:9px}.setDate{position:absolute;right:80px}.setDate>span{margin-right:10px}.connect:after{clear:both}.supervisory-type-list{flex:1;overflow:auto}::ng-deep .ant-dropdown-menu-submenu-title{cursor:pointer}::ng-deep .tree-table-component cdk-virtual-scroll-viewport{overflow-y:scroll}"]}]}],"members":{"checkList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":242,"character":3},"arguments":["checkList"]}]}],"ratioSuperisory":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":243,"character":3},"arguments":["ratioSuperisory"]}]}],"ChangeData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":3},"arguments":["nfData"]}]}],"modalTplContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":250,"character":3},"arguments":["modalTplContent",{"static":true}]}]}],"tplFooter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":251,"character":3},"arguments":["tplFooter",{"static":true}]}]}],"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":252,"character":3},"arguments":["pulseCard"]}]}],"nfUpdateTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":253,"character":3}}]}],"showFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":254,"character":3}}]}],"ChangeParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":255,"character":3},"arguments":["taskSystemParameter"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":269,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":269,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":262,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":263,"character":19},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":264,"character":18},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":266,"character":22},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":267,"character":16},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":268,"character":32},{"__symbolic":"reference","name":"Object"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"handleClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":284,"character":3},"arguments":["window:click",["$event"]]}]}],"handleBoardList":[{"__symbolic":"method"}],"listConvertTree":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"convertTreeToList":[{"__symbolic":"method"}],"visitNode":[{"__symbolic":"method"}],"getActiveGroup":[{"__symbolic":"method"}],"clickGroupMenu":[{"__symbolic":"method"}],"duplicateRemoval":[{"__symbolic":"method"}],"getVisibleSize":[{"__symbolic":"method"}],"addNewGroup":[{"__symbolic":"method"}],"addColumnFun":[{"__symbolic":"method"}],"addFilterColumn":[{"__symbolic":"method"}],"setProgressValue":[{"__symbolic":"method"}],"progressAverage":[{"__symbolic":"method"}],"progressCheckboxChange":[{"__symbolic":"method"}],"submitProgressConfig":[{"__symbolic":"method"}],"progressCalcValue":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}],"columnDrop":[{"__symbolic":"method"}],"pulseDrop":[{"__symbolic":"method"}],"modifyGroupName":[{"__symbolic":"method"}],"modifyColumnName":[{"__symbolic":"method"}],"groupAuthorityChange":[{"__symbolic":"method"}],"getAuthorityMember":[{"__symbolic":"method"}],"groupAuthorityConfirm":[{"__symbolic":"method"}],"archiveGroup":[{"__symbolic":"method"}],"changeGroupColor":[{"__symbolic":"method"}],"removeGroup":[{"__symbolic":"method"}],"pulseCheckedChange":[{"__symbolic":"method"}],"closeBatchMenu":[{"__symbolic":"method"}],"batchEditPulse":[{"__symbolic":"method"}],"handleAddCancel":[{"__symbolic":"method"}],"handleAddOk":[{"__symbolic":"method"}],"getPulseCardData":[{"__symbolic":"method"}],"batchMoveToGroup":[{"__symbolic":"method"}],"batchArchivePulse":[{"__symbolic":"method"}],"batchDeletePulse":[{"__symbolic":"method"}],"checkBatchTreeData":[{"__symbolic":"method"}],"checkTreeData":[{"__symbolic":"method"}],"hasClass":[{"__symbolic":"method"}],"clickCurrentColumn":[{"__symbolic":"method"}],"clickCurrentPulse":[{"__symbolic":"method"}],"removePulse":[{"__symbolic":"method"}],"removeColumn":[{"__symbolic":"method"}],"archivePulse":[{"__symbolic":"method"}],"handleColumnPermission":[{"__symbolic":"method"}],"columnPermissionSet":[{"__symbolic":"method"}],"columnEncryptChange":[{"__symbolic":"method"}],"handleColumnEncrypt":[{"__symbolic":"method"}],"columnSelectMember":[{"__symbolic":"method"}],"handleMemberCancel":[{"__symbolic":"method"}],"removeFilterColumn":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"filterChild":[{"__symbolic":"method"}],"isExist":[{"__symbolic":"method"}],"onMemberSearch":[{"__symbolic":"method"}],"handleBatchAddMemberCancel":[{"__symbolic":"method"}],"handleBatchAttachOk":[{"__symbolic":"method"}],"batchUpdateBoardMember":[{"__symbolic":"method"}],"loadMore":[{"__symbolic":"method"}],"sortColumn":[{"__symbolic":"method"}],"getColumnName":[{"__symbolic":"method"}],"calcFilterData":[{"__symbolic":"method"}],"updateFilterData":[{"__symbolic":"method"}],"generateColumnValue":[{"__symbolic":"method"}],"openDialog":[{"__symbolic":"method"}],"closeDialog":[{"__symbolic":"method"}],"getColumnText":[{"__symbolic":"method"}],"getColumnDate":[{"__symbolic":"method"}],"batchSettingMember":[{"__symbolic":"method"}],"openButtonConfig":[{"__symbolic":"method"}],"removeButtonConfig":[{"__symbolic":"method"}],"editButtonConfig":[{"__symbolic":"method"}],"buttonConfigAdd":[{"__symbolic":"method"}],"buttonConfigChange":[{"__symbolic":"method"}],"buttonConfigSubmit":[{"__symbolic":"method"}],"getMaxId":[{"__symbolic":"method"}],"getButtonUserIds":[{"__symbolic":"method"}],"buttonRelationChange":[{"__symbolic":"method"}],"buttonSelectChange":[{"__symbolic":"method"}],"buttonCustomClick":[{"__symbolic":"method"}],"buttonRelationClick":[{"__symbolic":"method"}],"getVoteData":[{"__symbolic":"method"}],"openAddTaskDialog":[{"__symbolic":"method"}],"getCreateWayType":[{"__symbolic":"method"}],"handleAddTaskCancel":[{"__symbolic":"method"}],"handleAddTaskOk":[{"__symbolic":"method"}],"backToChoseCreateType":[{"__symbolic":"method"}],"groupChange":[{"__symbolic":"method"}],"addPulse":[{"__symbolic":"method"}],"getManualTask":[{"__symbolic":"method"}],"dropColumn":[{"__symbolic":"method"}],"selectGroup":[{"__symbolic":"method"}],"getTimeInterval":[{"__symbolic":"method"}],"getColumnDateTime":[{"__symbolic":"method"}],"myTaskChange":[{"__symbolic":"method"}],"useLastCondition":[{"__symbolic":"method"}],"clearFilterCondition":[{"__symbolic":"method"}],"chooseGroup":[{"__symbolic":"method"}],"removeGroupFilter":[{"__symbolic":"method"}],"chooseValue":[{"__symbolic":"method"}],"removeValue":[{"__symbolic":"method"}],"calcHeight":[{"__symbolic":"method"}],"openTaskProgressDialog":[{"__symbolic":"method"}],"handleStatusListOk":[{"__symbolic":"method"}],"submitEditStatus":[{"__symbolic":"method"}],"handleAddStatusListCancel":[{"__symbolic":"method"}],"quickAddStatus":[{"__symbolic":"method"}],"openStatusItemDialog":[{"__symbolic":"method"}],"openStatusOption":[{"__symbolic":"method"}],"deleteStatusOption":[{"__symbolic":"method"}],"handleAddStatusItemCancel":[{"__symbolic":"method"}],"submitItemForm":[{"__symbolic":"method"}],"changeColor":[{"__symbolic":"method"}],"handleStatusItemOk":[{"__symbolic":"method"}],"drop":[{"__symbolic":"method"}],"genID":[{"__symbolic":"method"}],"openTaskRulesDialog":[{"__symbolic":"method"}],"taskRulesClose":[{"__symbolic":"method"}],"taskStatisticsChange":[{"__symbolic":"method"}],"boardStatisticData":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}],"taskRulesChange":[{"__symbolic":"method"}],"handelTaskRuleTreeRelevanceType":[{"__symbolic":"method"}],"getProductOption":[{"__symbolic":"method"}],"onProductSearch":[{"__symbolic":"method"}],"getProductListData":[{"__symbolic":"method"}],"productIndexChange":[{"__symbolic":"method"}],"productSizeChange":[{"__symbolic":"method"}],"openProductDialog":[{"__symbolic":"method"}],"handleSelectProductClose":[{"__symbolic":"method"}],"handleProductOk":[{"__symbolic":"method"}],"handleProductCancel":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"onCurrentPageDataChange":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"searchProduct":[{"__symbolic":"method"}],"editGroupNameDialog":[{"__symbolic":"method"}],"handleEditGroupNameOk":[{"__symbolic":"method"}],"handleEditGroupNameCancel":[{"__symbolic":"method"}],"trackByIndex":[{"__symbolic":"method"}],"preTaskHandle":[{"__symbolic":"method"}],"refreshAudit":[{"__symbolic":"method"}],"refreshMonitor":[{"__symbolic":"method"}],"auditResults":[{"__symbolic":"method"}],"monitorResults":[{"__symbolic":"method"}],"reportPreview":[{"__symbolic":"method"}],"reportExport":[{"__symbolic":"method"}],"openAuditDetail":[{"__symbolic":"method"}],"exportMonitorExcel":[{"__symbolic":"method"}],"getOutSystemName":[{"__symbolic":"method"}],"getAuditResult":[{"__symbolic":"method"}],"getIndicatorResult":[{"__symbolic":"method"}],"refreshTodayAudit":[{"__symbolic":"method"}],"postBoardPulseScanLogData":[{"__symbolic":"method"}],"refreshTodayMonitor":[{"__symbolic":"method"}],"pollingScanStatus":[{"__symbolic":"method"}],"checkCancle":[{"__symbolic":"method"}],"exportExcel":[{"__symbolic":"method"}],"sendWarned":[{"__symbolic":"method"}],"checkMonitorCancle":[{"__symbolic":"method"}],"openMonitorDetail":[{"__symbolic":"method"}],"checkReportCancle":[{"__symbolic":"method"}],"stopScanAudit":[{"__symbolic":"method"}],"stopScanMonitor":[{"__symbolic":"method"}],"openPulseDialog":[{"__symbolic":"method"}],"handleEditPulseNNameOk":[{"__symbolic":"method"}],"handleEditPulseNameCancel":[{"__symbolic":"method"}],"openEditColumnNameDialog":[{"__symbolic":"method"}],"handleEditColumnNNameOk":[{"__symbolic":"method"}],"handleEditColumnNameCancel":[{"__symbolic":"method"}],"tabSelectedIndexChange":[{"__symbolic":"method"}],"startEdit":[{"__symbolic":"method"}],"stopEdit":[{"__symbolic":"method"}],"onTaskDateChange":[{"__symbolic":"method"}],"treeGridLevelChange":[{"__symbolic":"method"}],"handleTreeCollapse":[{"__symbolic":"method"}],"getTreeGridMaxLevel":[{"__symbolic":"method"}]}},"ɵep":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-scan-audit-or-indicator-when-indicator-status","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 当监听到 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"indicatorVisible\" [nzPopoverContent]=\"indicatorTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': indicatorId}\">{{indicatorDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #indicatorTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择监控项</div>\r\n                      <nz-select style=\"width:200px\" nzPlaceHolder=\"请选择\" [(ngModel)]=\"indicatorId\" (ngModelChange)=\"indicatorChange($event)\" nzAllowClear nzShowSearch>\r\n                        <nz-option *ngFor=\"let data of indicatorData\" [nzValue]=\"data.id\" [nzLabel]=\"data.name\"></nz-option>\r\n                      </nz-select>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 的状态为 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"indicatorStatusVisible\" [nzPopoverContent]=\"indicatorStatusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': indicatorStatus}\">{{indicatorStatusText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #indicatorStatusTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择状态</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.id == indicatorStatus}\" *ngFor=\"let data of indicatorStatusData\" (click)=\"indicatorStatusChange(data)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{data.name}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，扫描 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"auditItemOrindicatorItemVisible\" [nzPopoverContent]=\"auditItemOrindicatorItemTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': auditItemIdList.length||indicatorItemIdList.length}\">{{auditItemOrindicatorItemDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #auditItemOrindicatorItemTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <nz-tabset [(nzSelectedIndex)]=\"tabsIndex\" (nzSelectedIndexChange)=\"tabsChange($event)\">\r\n                          <nz-tab nzTitle=\"稽核\">\r\n                            <div style=\"padding:15px 0\">\r\n                              <nz-select style=\"width:250px\" nzPlaceHolder=\"请选择稽核项\" nzMode=\"multiple\" [(ngModel)]=\"auditItemIdList\" (ngModelChange)=\"auditItemChange($event)\" nzAllowClear nzShowSearch>\r\n                              <nz-option *ngFor=\"let data of auditData\" [nzValue]=\"data.id\" [nzLabel]=\"data.name\"></nz-option>\r\n                            </nz-select>\r\n                            </div>\r\n                          </nz-tab>\r\n                          <nz-tab nzTitle=\"监控\">\r\n                            <div style=\"padding:15px 0\">\r\n                              <nz-select style=\"width:250px\" nzPlaceHolder=\"请选择监控项\" nzMode=\"multiple\" [(ngModel)]=\"indicatorItemIdList\" (ngModelChange)=\"indicatorItemChange($event)\" nzAllowClear nzShowSearch>\r\n                              <nz-option *ngFor=\"let data of indicatorData\" [nzValue]=\"data.id\" [nzLabel]=\"data.name\"></nz-option>\r\n                            </nz-select>\r\n                            </div>\r\n                          </nz-tab>\r\n                        </nz-tabset>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":48,"character":21}]}],"ngOnInit":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"indicatorChange":[{"__symbolic":"method"}],"indicatorStatusChange":[{"__symbolic":"method"}],"getIndicatorItemsData":[{"__symbolic":"method"}],"getAuditItemsData":[{"__symbolic":"method"}],"handleTreeData":[{"__symbolic":"method"}],"indicatorItemChange":[{"__symbolic":"method"}],"auditItemChange":[{"__symbolic":"method"}],"tabsChange":[{"__symbolic":"method"}]}},"ɵeq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-gtja-gmoperation-plant-create-task","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 当监听到 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"outSystemDataBusinessVisible\" [nzPopoverContent]=\"outSystemDataBusinessTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': outSystemDataBusinessType}\">{{outSystemDataBusinessDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #outSystemDataBusinessTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择业务</div>\r\n                      <div style=\"height:200px;overflow-y: auto\">\r\n                        <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data.businessType == outSystemDataBusinessType}\" *ngFor=\"let data of outSystemDataBusinessData\" (click)=\"outSystemDataBusinessChange(data)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{data.businessName}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 数据推送，类别为 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"outSystemDataCategoryVisible\" [nzPopoverContent]=\"outSystemDataTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': outSystemDataCategory}\">{{outSystemDataCategoryText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #outSystemDataTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择类别</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': data == outSystemDataCategory}\" *ngFor=\"let data of outSystemDataCategoryData\" (click)=\"outSystemDataCategoryChange(data)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{data}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时，在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == groupConditionId}\" *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，创建 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" (click)=\"openTaskDialog()\">\r\n                    <span class=\"no-change-text\">任务</span>\r\n                  </div>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n<!-- 弹窗 -->\r\n<nz-modal [(nzVisible)]=\"isVisible\" [nzTitle]=\"null\" [nzMaskClosable]=\"false\" [nzWrapClassName]=\"'vertical-center-modal'\" [nzWidth]=\"'600px'\"  [nzOkText]=\"null\" [nzCancelText]=\"null\" [nzFooter]=\"modalFooter\" (nzOnCancel)=\"handleCancel()\">\r\n  <div class=\"automations-dialog-part-wrapper\">\r\n    <nf-pulse-integration\r\n      #pulseCard\r\n      (nfDataChange)=\"getTaskIntegrationData($event)\"\r\n      [nfRecipeId]=\"recipeId\"\r\n      [nfRelationId]=\"relationId\"\r\n      [nfInstanceData]=\"backFillData\"\r\n      [dataSource]=\"outSystemDataBusinessId\"\r\n      [businessType]=\"outSystemDataBusinessType\"\r\n      [nfData]=\"boardData\">\r\n    </nf-pulse-integration>\r\n  </div>\r\n</nz-modal>\r\n<ng-template #modalFooter>\r\n  <button nz-button nzType=\"default\" (click)=\"handleCancel()\">取消</button>\r\n  <button nz-button nzType=\"primary\" (click)=\"handleOk()\" [disabled]=\"isConfirmLoading\">确定</button>\r\n</ng-template>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseCard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["pulseCard",{"static":true}]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":50,"character":21},{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"openTaskDialog":[{"__symbolic":"method"}],"getTaskIntegrationData":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"handleOk":[{"__symbolic":"method"}],"handleCancel":[{"__symbolic":"method"}],"outSystemDataBusinessChange":[{"__symbolic":"method"}],"outSystemDataCategoryChange":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getAllBusinessData":[{"__symbolic":"method"}],"getBusinessCategoryData":[{"__symbolic":"method"}]}},"ɵer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-timing-status-group-moving","template":"<div class=\"automations-editor-page-component\">\r\n  <div class=\"automations-editor-page-inner\">\r\n    <div class=\"logo-wrapper\">\r\n      <div class=\"app-logo\">\r\n        <img class=\"app-logo-image\" src=\"data:image/png;base64,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\">\r\n        <span class=\"logo-text\">TaskCenter</span>\r\n      </div>\r\n      <div class=\"logged-user-message light\"></div>\r\n    </div>\r\n    <div class=\"automation-editor-content-wrapper\">\r\n      <div class=\"automations-editor-content\">\r\n        <div class=\"automation-sentence-wrapper\">\r\n          <div class=\"automation-sentence-inner\">\r\n            <div class=\"automations-editor-sentence-wrapper\">\r\n              <div class=\"automations-editor-sentence-component\">\r\n                <span class=\"automations-editor-text-term-component\"> 在 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"groupConditionVisible\" [nzPopoverContent]=\"groupConditionTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': groupConditionId}\">{{groupConditionDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #groupConditionTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.checked}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"groupConditionChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 中，</span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"schedulerConditionVisible\" [nzPopoverContent]=\"schedulerConditionTemplate\">\r\n                    <div class=\"ds-text-component\" *ngIf=\"!schedulerConditionData\">\r\n                      <span>{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <div nz-tooltip nzTooltipTitle=\"{{schedulerConditionDisplayText}}\" class=\"ds-text-component\" *ngIf=\"schedulerConditionData\">\r\n                      <span class=\"selected\">{{schedulerConditionDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #schedulerConditionTemplate>\r\n                      <nf-scheduler [nfData]=\"schedulerConditionData\" [dateTypeEnable]=\"true\" (nfDataChange)=\"getSchedulerData($event)\"></nf-scheduler>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span> , 当 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\" [(nzPopoverVisible)]=\"statusPopVisible\" [nzPopoverContent]=\"statusTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnId}\">{{statusColumnDisplayText}}</span>\r\n                    </div>\r\n                    <ng-template #statusTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"field-title\">选择状态列</div>\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of statusColumnList\"\r\n                             [ngClass]=\"automation.columnId==item.id ? 'selected': ''\" (click)=\"statusSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"column-type-icon\">\r\n                              <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                            </span>\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\">&nbsp;变更为 </span>\r\n                <span class=\"automations-editor-field-term-component in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"columnValuePopVisible\" [nzPopoverContent]=\"columnValueTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': automation.columnValue.indexes != null && automation.columnValue.indexes.length > 0}\">\r\n                        {{columnValueDisplayText}}\r\n                      </span>\r\n                    </div>\r\n                    <ng-template #columnValueTemplate>\r\n                      <div class=\"condition-container\">\r\n                        <div class=\"automations-column-field-column-option\" *ngFor=\"let item of columnValueList\"\r\n                             [ngClass]=\"automation.columnValue.indexes.includes(item.index) ? 'selected': ''\" (click)=\"columnValueSelectChange(item)\">\r\n                          <div class=\"column-icon\">\r\n                            <span class=\"color-circle\" [style.background]=\"item.color\"></span>\r\n                            <!--<span class=\"column-type-icon\">-->\r\n                            <!--<i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>-->\r\n                            <!--</span>-->\r\n                          </div>\r\n                          <div class=\"column-title\">{{item.label}}</div>\r\n                        </div>\r\n                      </div>\r\n                    </ng-template>\r\n                  </div>\r\n                </span>\r\n                <span class=\"automations-editor-text-term-component\"> 时 ，将任务移动到 </span>\r\n                <span class=\"automations-editor-field-term-component  in-editor\">\r\n                  <div class=\"field-text\" nz-popover nzPopoverTrigger=\"click\" nzPopoverPlacement=\"bottom\"\r\n                       [(nzPopoverVisible)]=\"targetGroupVisible\" [nzPopoverContent]=\"targetGroupTemplate\">\r\n                    <div class=\"ds-text-component\">\r\n                      <span [ngClass]=\"{'selected': targetGroupId}\">{{targetGroupDisplayText}}</span>\r\n                    </div>\r\n                  </div>\r\n                  <ng-template #targetGroupTemplate>\r\n                    <div class=\"condition-container\">\r\n                      <div class=\"field-title\">选择分组</div>\r\n                      <div class=\"automations-column-field-column-option\" [ngClass]=\"{'selected': group.id == targetGroupId}\"\r\n                           *ngFor=\"let group of boardGroupData\" (click)=\"targetGroupChange(group)\">\r\n                        <div class=\"column-icon\">\r\n                          <span class=\"column-type-icon\">\r\n                            <i nz-icon [nzIconfont]=\"'icon-caidan'\"></i>\r\n                          </span>\r\n                        </div>\r\n                        <div class=\"column-title\">{{group.title}}</div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-template>\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","styles":[".automations-editor-page-component{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;height:100%;user-select:none}.automations-editor-page-component .automations-editor-page-inner{display:flex;flex-direction:column;height:100%;position:relative}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper{align-items:center;display:flex;left:24px;position:absolute;top:24px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .app-logo .app-logo-image{max-height:30px;max-width:140px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message{align-items:center;color:#fff;display:flex;margin-left:32px}.automations-editor-page-component .automations-editor-page-inner .logo-wrapper .logged-user-message.light{color:#333}.automations-editor-page-component .automations-editor-page-inner .automation-editor-content-wrapper,.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{align-items:center;color:#000;display:flex;flex:1 0 auto;flex-direction:column;justify-content:center}.automations-editor-page-component .automations-editor-page-inner .automations-editor-content{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper{padding:0 50px;width:100%}.automations-editor-page-component .automations-editor-page-inner .automation-sentence-wrapper .automation-sentence-inner{font-size:36px;margin:0 auto}.automations-editor-sentence-wrapper .automations-editor-sentence-component .automations-editor-text-term-component{margin-top:30px}.automations-editor-field-term-component{display:inline-block;position:relative;top:1px;vertical-align:bottom}.automations-editor-field-term-component.in-editor{margin-top:30px}.automations-editor-field-term-component.in-editor:not(.disable){cursor:pointer}.automations-editor-field-term-component .field-text{max-width:350px;position:relative;transition:color .1s ease}.automations-editor-field-term-component.in-editor .field-text{color:rgba(0,0,0,.5);min-height:54px}.automations-editor-field-term-component.in-editor .field-text:hover{color:rgba(0,0,0,.8);min-height:54px}.automations-editor-field-term-component .field-text:before{background:#000;bottom:2px;height:1px;left:-2px;position:absolute;right:-2px}.automations-editor-field-term-component.partition{margin:0 10px}.automations-editor-field-term-component.partition .field-text:before{background:#000;bottom:2px;height:1px;left:2px;position:absolute;right:2px}.automations-editor-field-term-component.in-editor .field-text:before{background:#000;bottom:2px;content:\"\";height:2px;left:-2px;position:absolute;right:-2px}.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-editor-content-wrapper .automations-editor-field-term-component.in-editor .field-text:before,.automations-editor-page-component .automations-editor-page-inner.light-theme .automation-sentence-wrapper .automations-editor-field-term-component.in-editor .field-text:before{background:#000}.ds-text-component{border:1px solid transparent;height:100%;overflow-x:hidden;overflow-y:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.ds-text-component .selected{color:#000}.logo-text{color:#333;font-size:20px;font-style:italic;font-weight:500;margin-left:5px}.condition-container{min-width:200px}.automations-column-field-column-option{border-radius:4px;color:#333;cursor:pointer;font-weight:300;padding:8px}.automations-column-field-column-option:hover{background:#009aff;color:#fff!important}.automations-column-field-column-option{display:flex}.automations-column-field-column-option .column-icon{margin-right:8px}.automations-column-field-column-option .column-title{cursor:pointer;flex:1}.automations-column-field-column-option .column-title:not(.renaming-column){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automations-column-field-column-option.automations-column-field-column-option.selected{background:rgba(0,154,255,.2);color:#009aff!important;font-weight:400}.condition-container .field-title{color:#a1a1a1;font-size:14px;margin-bottom:8px;margin-left:8px;margin-top:4px}.no-change-text{color:#000}.automations-column-field-column-option .color-circle,.automations-column-field-column-option .image-circle{border-radius:50%;display:inline-block;height:20px;margin-right:8px;vertical-align:middle;width:20px}"]}]}],"members":{"pulseIntegration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":72,"character":3},"arguments":["pulseIntegration"]}]}],"nfDataChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TaskService"}]}],"ngOnInit":[{"__symbolic":"method"}],"groupConditionChange":[{"__symbolic":"method"}],"getGroupIds":[{"__symbolic":"method"}],"statusSelectChange":[{"__symbolic":"method"}],"columnValueSelectChange":[{"__symbolic":"method"}],"getStatusValueText":[{"__symbolic":"method"}],"getNotificationData":[{"__symbolic":"method"}],"getUserData":[{"__symbolic":"method"}],"targetGroupChange":[{"__symbolic":"method"}],"packageData":[{"__symbolic":"method"}],"getSubmitStatus":[{"__symbolic":"method"}],"getSchedulerData":[{"__symbolic":"method"}]}},"ɵes":{"__symbolic":"error","message":"Lambda not supported","line":49,"character":17,"module":"./src/app/routes/task-center/utils/stomp.config"}},"origins":{"TaskCenterModule":"./src/app/routes/task-center/task-center.module","LayoutComponent":"./src/app/routes/task-center/layout/layout.component","TaskService":"./src/app/routes/task-center/services/task.service","SERVICE_CONFIG":"./src/app/routes/task-center/services/task.service","SimpleStatisticsComponent":"./src/app/routes/task-center/views/simple-statistics/simple-statistics.component","ɵa":"./src/app/routes/task-center/widget/automation/config/abstract-part-component","ɵb":"./src/app/routes/task-center/task-panel/task-panel.component","ɵc":"./src/app/routes/task-center/utils/utils.module","ɵd":"./src/app/routes/task-center/widget/conversation/conversation.component","ɵe":"./src/app/routes/task-center/widget/filter/filter.component","ɵf":"./src/app/routes/task-center/views/table/table.component","ɵg":"./src/app/routes/task-center/views/calendar/calendar.component","ɵh":"./src/app/routes/task-center/components/multiple-person/multiple-person.component","ɵi":"./src/app/routes/task-center/components/status/status.component","ɵj":"./src/app/routes/task-center/components/dropdown/dropdown.component","ɵk":"./src/app/routes/task-center/views/archive/archive.component","ɵl":"./src/app/routes/task-center/widget/pulse-card/pulse-card.component","ɵm":"./src/app/routes/task-center/widget/integration/integration.component","ɵn":"./src/app/routes/task-center/widget/automation/automation.component","ɵo":"./src/app/routes/task-center/widget/automation/parts/common-status/common-status.component","ɵp":"./src/app/routes/task-center/widget/automation/parts/common-date/common-date.component","ɵq":"./src/app/routes/task-center/widget/automation/parts/common-column/common-column.component","ɵr":"./src/app/routes/task-center/widget/automation/parts/custom-special-condition/custom-special-condition.component","ɵs":"./src/app/routes/task-center/widget/pulse-integration/pulse-integration.component","ɵt":"./src/app/routes/task-center/widget/scheduler/scheduler.component","ɵu":"./src/app/routes/task-center/widget/automation/parts/common-scheduler/common-scheduler.component","ɵv":"./src/app/routes/task-center/utils/pipes/long-time-ago.pipe","ɵw":"./src/app/routes/task-center/utils/pipes/transfor-string-json.pipe","ɵx":"./src/app/routes/task-center/widget/when/when.component","ɵy":"./src/app/routes/task-center/widget/board-member/board-member.component","ɵz":"./src/app/routes/task-center/widget/timer/timer.component","ɵba":"./src/app/routes/task-center/widget/automation/parts/common-timer/common-timer.component","ɵbb":"./src/app/routes/task-center/widget/automation/parts/common-send-email/common-send-email.component","ɵbc":"./src/app/routes/task-center/widget/automation/parts/common-timer-email/common-timer-email.component","ɵbd":"./src/app/routes/task-center/widget/t-day/t-day.component","ɵbe":"./src/app/routes/task-center/widget/condition/condition.component","ɵbf":"./src/app/routes/task-center/widget/field-condition/field-condition.component","ɵbg":"./src/app/routes/task-center/widget/automation/parts/common-status-archive/common-status-archive.component","ɵbh":"./src/app/routes/task-center/widget/date-time/date-time.component","ɵbi":"./src/app/routes/task-center/widget/abstract-value-accessor","ɵbj":"./src/app/routes/task-center/widget/abstract-value-accessor","ɵbk":"./src/app/routes/task-center/widget/abstract-value-accessor","ɵbl":"./src/app/routes/task-center/components/select/select.component","ɵbm":"./src/app/routes/task-center/widget/notification/notification.component","ɵbn":"./src/app/routes/task-center/widget/automation/parts/common-status-timer-email/common-status-timer-email.component","ɵbo":"./src/app/routes/task-center/widget/automation/parts/common-timer-notification/common-timer-notification.component","ɵbp":"./src/app/routes/task-center/widget/infobox/infobox.component","ɵbq":"./src/app/routes/task-center/archived-board/archived-board.component","ɵbr":"./src/app/routes/task-center/widget/user/user.component","ɵbs":"./src/app/routes/task-center/widget/automation/parts/pulse-created-send-notification/pulse-created-send-notification.component","ɵbt":"./src/app/routes/task-center/widget/file/file.component","ɵbu":"./src/app/routes/task-center/widget/link/link.component","ɵbv":"./src/app/routes/task-center/widget/automation/pipe/search-pipe.pipe","ɵbw":"./src/app/routes/task-center/widget/automation/parts/common-text-change/common-text-change.component","ɵbx":"./src/app/routes/task-center/widget/automation/parts/common-product-change-update/common-product-change-update.component","ɵby":"./src/app/routes/task-center/widget/automation/parts/common-status-notify/common-status-notify.component","ɵbz":"./src/app/routes/task-center/widget/automation/parts/common-status-change-user/common-status-change-user.component","ɵca":"./src/app/routes/task-center/views/new-calendar/new-calendar.component","ɵcb":"./src/app/routes/task-center/widget/time-interval/time-interval.component","ɵcc":"./src/app/routes/task-center/widget/member/member.component","ɵcd":"./src/app/routes/task-center/widget/relation-data/relation-data.component","ɵce":"./src/app/routes/task-center/widget/automation/parts/status-condition-create/status-condition-create.component","ɵcf":"./src/app/routes/task-center/widget/automation/parts/status-group-moving/status-group-moving.component","ɵcg":"./src/app/routes/task-center/widget/automation/parts/status-group-moving-notify/status-group-moving-notify.component","ɵch":"./src/app/routes/task-center/widget/vote/vote.component","ɵci":"./src/app/routes/task-center/widget/date-slider/date-slider.component","ɵcj":"./src/app/routes/task-center/widget/last-updated/last-updated.component","ɵck":"./src/app/routes/task-center/widget/automation/parts/status-timer-archive/status-timer-archive.component","ɵcl":"./src/app/routes/task-center/widget/automation/parts/work-relation/work-relation.component","ɵcm":"./src/app/routes/task-center/widget/automation/parts/common-workflow-create-task/common-workflow-create-task.component","ɵcn":"./src/app/routes/task-center/widget/automation/parts/common-workflow-update-task/common-workflow-update-task.component","ɵco":"./src/app/routes/task-center/widget/automation/parts/common-workflow-delete-task/common-workflow-delete-task.component","ɵcp":"./src/app/routes/task-center/widget/automation/parts/common-audit-create-task/common-audit-create-task.component","ɵcq":"./src/app/routes/task-center/widget/automation/parts/common-audit-delete-task/common-audit-delete-task.component","ɵcr":"./src/app/routes/task-center/widget/automation/parts/common-audit-update-task/common-audit-update-task.component","ɵcs":"./src/app/routes/task-center/views/new-table/new-table.component","ɵct":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-name/table-column-name.component","ɵcu":"./src/app/routes/task-center/dynamic-components/table-view/table-view-abstract/table-view-abstract.component","ɵcv":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-text/table-column-text.component","ɵcw":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-date/table-column-date.component","ɵcx":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-status/table-column-status.component","ɵcy":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-progress/table-column-progress.component","ɵcz":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-name/table-pulse-name.component","ɵda":"./src/app/routes/task-center/dynamic-components/table-view/table-pulse-abstract/table-pulse-abstract.component","ɵdb":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-date/table-pulse-date.component","ɵdc":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-progress/table-pulse-progress.component","ɵdd":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-status/table-pulse-status.component","ɵde":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-text/table-pulse-text.component","ɵdf":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-multiple-person/table-pulse-multiple-person.component","ɵdg":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-multiple-person/table-column-multiple-person.component","ɵdh":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-select/table-column-select.component","ɵdi":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-select/table-pulse-select.component","ɵdj":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-date-time/table-column-date-time.component","ɵdk":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-time-interval/table-column-time-interval.component","ɵdl":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-time-interval/table-pulse-time-interval.component","ɵdm":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-button/table-column-button.component","ɵdn":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-dropdown/table-column-dropdown.component","ɵdo":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-button/table-pulse-button.component","ɵdp":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-dropdown/table-pulse-dropdown.component","ɵdq":"./src/app/routes/task-center/dynamic-components/table-view/columns/table-column-create-time/table-column-create-time.component","ɵdr":"./src/app/routes/task-center/dynamic-components/table-view/pulses/table-pulse-create-time/table-pulse-create-time.component","ɵds":"./src/app/routes/task-center/views/tree-table/tree-table.component","ɵdt":"./src/app/routes/task-center/components/multiple-level-person/multiple-level-person.component","ɵdu":"./src/app/routes/task-center/components/task-status/task-status.component","ɵdv":"./src/app/routes/task-center/components/task-handle/task-handle.component","ɵdw":"./src/app/routes/task-center/components/task-progress/task-progress.component","ɵdx":"./src/app/routes/task-center/components/handler/handler.component","ɵdy":"./src/app/routes/task-center/components/task-button/task-button.component","ɵdz":"./src/app/routes/task-center/widget/automation/parts/common-task-status-archive/common-task-status-archive.component","ɵea":"./src/app/routes/task-center/widget/automation/parts/common-supervisory-update-task/common-supervisory-update-task.component","ɵeb":"./src/app/routes/task-center/widget/automation/parts/common-log-task-archive/common-log-task-archive.component","ɵec":"./src/app/routes/task-center/components/check-list/check-list.component","ɵed":"./src/app/routes/task-center/components/ratio-superisory/ratio-superisory.component","ɵee":"./src/app/routes/task-center/components/warned/warned.component","ɵef":"./src/app/routes/task-center/components/supervisory-scheduler/supervisory-scheduler.component","ɵeg":"./src/app/routes/task-center/components/task-filter/task-filter.component","ɵeh":"./src/app/routes/task-center/components/task-management/task-management.component","ɵei":"./src/app/routes/task-center/components/task-management/set-scheduler/set-scheduler.component","ɵej":"./src/app/routes/task-center/widget/automation/parts/integrate-supervisory-creat/integrate-supervisory-creat.component","ɵek":"./src/app/routes/task-center/widget/automation/parts/integrate-supervisory-task-rule-creat/integrate-supervisory-task-rule-creat.component","ɵel":"./src/app/routes/task-center/widget/automation/parts/create-task-by-indicator-abnormal-status/create-task-by-indicator-abnormal-status.component","ɵem":"./src/app/routes/task-center/components/task-abnormal-statistics/task-abnormal-statistics.component","ɵen":"./src/app/routes/task-center/components/task-execute-time/task-execute-time.component","ɵeo":"./src/app/routes/task-center/views/log-grid/log-grid.component","ɵep":"./src/app/routes/task-center/widget/automation/parts/scan-audit-or-indicator-when-indicator-status/scan-audit-or-indicator-when-indicator-status.component","ɵeq":"./src/app/routes/task-center/widget/automation/parts/gtja-gmoperation-plant-create-task/gtja-gmoperation-plant-create-task.component","ɵer":"./src/app/routes/task-center/widget/automation/parts/timing-status-group-moving/timing-status-group-moving.component","ɵes":"./src/app/routes/task-center/utils/stomp.config"},"importAs":"ngx-task-center"}