{"__symbolic":"module","version":4,"metadata":{"HexagonsiOmsLibService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"HexagonsiOmsLibComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-hexagonsi-oms-lib","styles":[],"template":"<button nz-button nzType=\"primary\" (click)=\"click()\">\r\n    <span nz-icon nzType=\"search\"></span>\r\n    测试{{btName}}\r\n  </button>\r\n  <nz-select ngModel=\"lucy\">\r\n    <nz-option nzValue=\"jack\" nzLabel=\"Jack\"></nz-option>\r\n    <nz-option nzValue=\"lucy\" nzLabel=\"Lucy\"></nz-option>\r\n  </nz-select>"}]}],"members":{"btName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}]}},"HexagonsiOmsLibModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":89,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"HexagonsiOmsLibComponent"},{"__symbolic":"reference","name":"PatrolTemplateManagementComponent"},{"__symbolic":"reference","name":"PatrolTemplateDetailComponent"},{"__symbolic":"reference","name":"PatrolControlDetailComponent"},{"__symbolic":"reference","name":"DynamicFormQuestionComponent"},{"__symbolic":"reference","name":"PatrolControlPreviewComponent"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"JobDetailFootComponent"},{"__symbolic":"reference","name":"JobDetailHeaderComponent"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"JobDetailComponent"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"KnowledgeDetailComponent"},{"__symbolic":"reference","name":"KnowledgeManagerComponent"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"OutSpareComponent"},{"__symbolic":"reference","name":"TakeSpareDetailComponent"},{"__symbolic":"reference","name":"TakeSpareComponent"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ToolSearchComponent"},{"__symbolic":"reference","name":"ToolTableComponent"},{"__symbolic":"reference","name":"ɵbj"},{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbm"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"FacilityDetailComponent"},{"__symbolic":"reference","name":"ɵbq"},{"__symbolic":"reference","name":"FacilityGroupEquipmentComponent"},{"__symbolic":"reference","name":"FacilityGroupInfoComponent"},{"__symbolic":"reference","name":"ɵbs"},{"__symbolic":"reference","name":"BudgetDetailComponent"},{"__symbolic":"reference","name":"BudgetDetailBudgetComponent"},{"__symbolic":"reference","name":"BudgetItemManagerComponent"},{"__symbolic":"reference","name":"BudgetMonthComponent"},{"__symbolic":"reference","name":"SparepartsManagementComponent"},{"__symbolic":"reference","name":"ɵbv"},{"__symbolic":"reference","name":"EntrySpareComponent"},{"__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":"ɵcd"},{"__symbolic":"reference","name":"ɵce"},{"__symbolic":"reference","name":"ProviderContractManagerComponent"},{"__symbolic":"reference","name":"ProviderComponent"},{"__symbolic":"reference","name":"ProviderDetailComponent"},{"__symbolic":"reference","name":"ɵcf"},{"__symbolic":"reference","name":"ɵcg"},{"__symbolic":"reference","name":"ProviderQuotationsheetManagerComponent"},{"__symbolic":"reference","name":"ɵch"},{"__symbolic":"reference","name":"ProviderTechnicalAgreementManagerComponent"}],"imports":[{"__symbolic":"reference","name":"ɵci"}],"exports":[{"__symbolic":"reference","name":"HexagonsiOmsLibComponent"},{"__symbolic":"reference","name":"PatrolTemplateManagementComponent"},{"__symbolic":"reference","name":"PatrolTemplateDetailComponent"},{"__symbolic":"reference","name":"PatrolControlDetailComponent"},{"__symbolic":"reference","name":"DynamicFormQuestionComponent"},{"__symbolic":"reference","name":"PatrolControlPreviewComponent"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"JobDetailFootComponent"},{"__symbolic":"reference","name":"JobDetailHeaderComponent"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"JobDetailComponent"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"KnowledgeDetailComponent"},{"__symbolic":"reference","name":"KnowledgeManagerComponent"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"OutSpareComponent"},{"__symbolic":"reference","name":"TakeSpareDetailComponent"},{"__symbolic":"reference","name":"TakeSpareComponent"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ToolSearchComponent"},{"__symbolic":"reference","name":"ToolTableComponent"},{"__symbolic":"reference","name":"ɵbj"},{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbm"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"},{"__symbolic":"reference","name":"FacilityDetailComponent"},{"__symbolic":"reference","name":"ɵbq"},{"__symbolic":"reference","name":"FacilityGroupEquipmentComponent"},{"__symbolic":"reference","name":"FacilityGroupInfoComponent"},{"__symbolic":"reference","name":"ɵbs"},{"__symbolic":"reference","name":"BudgetDetailComponent"},{"__symbolic":"reference","name":"BudgetDetailBudgetComponent"},{"__symbolic":"reference","name":"BudgetItemManagerComponent"},{"__symbolic":"reference","name":"BudgetMonthComponent"},{"__symbolic":"reference","name":"SparepartsManagementComponent"},{"__symbolic":"reference","name":"ɵbv"},{"__symbolic":"reference","name":"EntrySpareComponent"},{"__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":"ɵcd"},{"__symbolic":"reference","name":"ɵce"},{"__symbolic":"reference","name":"ProviderContractManagerComponent"},{"__symbolic":"reference","name":"ProviderComponent"},{"__symbolic":"reference","name":"ProviderDetailComponent"},{"__symbolic":"reference","name":"ɵcf"},{"__symbolic":"reference","name":"ɵcg"},{"__symbolic":"reference","name":"ProviderQuotationsheetManagerComponent"},{"__symbolic":"reference","name":"ɵch"},{"__symbolic":"reference","name":"ProviderTechnicalAgreementManagerComponent"}],"providers":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵck"},{"__symbolic":"reference","name":"ɵcl"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"ɵcc"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","name":"ɵcm"}]}]}],"members":{}},"PatrolTemplateManagementComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-patrol-template-management","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\">模板名称</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <input nz-input formControlName=\"ptName\"/>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"addTemplate()\">新建</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" class=\"btn-batch-del\" (click)=\"deleteTemplate()\">删除</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n</form>\r\n<nz-table style = \"margin-top: 24px;\" #basicTable [nzFrontPagination]=\"false\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\"\r\n    [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" \r\n    [nzLoading]=\"loading\" [nzData]=\"data\" nzTableLayout=\"fixed\">\r\n    <thead>\r\n        <tr>\r\n            <th nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\"\r\n                (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"30px\"></th>\r\n            <th nzWidth = \"80px\">模板编号</th>\r\n            <th nzWidth = \"160px\">模板名称</th>\r\n            <!-- <th>模板类型</th> -->\r\n            <th nzWidth = \"160px\">创建时间</th>\r\n            <th nzWidth = \"120px\">创建人</th>\r\n            <th>模板描述</th>\r\n            <th nzWidth = \"180px\">操作</th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr *ngFor=\"let item of basicTable.data\">\r\n            <td nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(item.ptNo)\"\r\n                (nzCheckedChange)=\"onItemChecked(item.ptNo, $event)\">\r\n            <td>{{item.ptNo}}</td>\r\n            <td>{{item.ptName}}</td>\r\n            <!-- <td>{{item.typeNo}}</td> -->\r\n            <td>{{item.createTime | date:'yyyy-MM-dd hh:mm:ss'}}</td>\r\n            <td>{{item.userName}}</td>\r\n            <td>{{item.desc}}</td>\r\n            <td class = 'td-operate'>\r\n                <ng-container>\r\n                    <a nz-button nzType=\"link\" (click)=\"previewTemplate(item.ptNo)\">预览</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                </ng-container>\r\n                <ng-container>\r\n                    <a nz-button nzType=\"link\" (click)=\"editTemplate(item.ptNo)\">编辑</a>\r\n                </ng-container>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n\r\n","styles":["html.blue :host ::ng-deep .ant-table-thead>tr>th{background-color:#023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table-thead>tr>th{background-color:#1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table-thead>tr>th{background-color:#e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;padding:1px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":28,"character":25},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":29,"character":20},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":31,"character":15},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":32,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"addTemplate":[{"__symbolic":"method"}],"deleteTemplate":[{"__symbolic":"method"}],"previewTemplate":[{"__symbolic":"method"}],"editTemplate":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"queryTemplateData":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}]}},"PatrolTemplateDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-patrol-template-detail","template":"<form nz-form [formGroup]=\"templateform\">\r\n  <div nz-row [nzGutter]=\"16\">\r\n    <div nz-col class=\"gutter-row\" nzSpan=\"12\">\r\n      <nz-form-item>\r\n        <nz-form-label nzRequired>模板名称</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"ptName\">\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    </div>\r\n    <div nz-col class=\"gutter-row\" nzSpan=\"12\">\r\n      <nz-form-item>\r\n        <nz-form-label nzRequired>模板类型</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select\r\n            nzPlaceHolder=\"模板类型\"\r\n            formControlName=\"typeNo\"\r\n            [nzShowArrow]=\"false\"\r\n          >\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    </div>\r\n  </div>\r\n  <div nz-row>\r\n    <div nz-col class=\"gutter-row\" nzSpan=\"24\">\r\n      <nz-form-item>\r\n        <nz-form-label>&nbsp;&nbsp;&nbsp;模板描述</nz-form-label>\r\n        <nz-form-control>\r\n          <textarea rows=\"2\" nz-input formControlName=\"desc\" maxlength=\"1024\"></textarea>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    </div>\r\n  </div>\r\n</form>\r\n\r\n  <div nz-row [nzGutter]=\"16\">\r\n    <div nz-col class=\"gutter-row\" nzSpan=\"10\">\r\n        <nz-list nzBordered nzSize=\"small\">\r\n            <nz-list-item *ngFor=\"let item of controlData\">\r\n              <div draggable [dragData]=\"item.data\" class=\"list-item\">{{item.label}}</div>\r\n            </nz-list-item>\r\n          </nz-list>\r\n      </div>\r\n      <div nz-col class=\"gutter-row\" nzSpan=\"14\" style=\"box-sizing: border-box;padding-top: 20px;\">\r\n        <h4 style=\"font-size: 14px; color: red;position: absolute;width: 100%;top: 0px;\">请将控件拖拽到这里</h4>\r\n        <div class=\"area-bgcolor\" droppable (onDrop)=\"onDropToForm($event)\">\r\n          <!-- <div *ngFor=\"let question of questions\" class=\"form-row\">\r\n            <app-dynamic-form-question [question]=\"question\" [form]=\"form\"></app-dynamic-form-question>\r\n          </div> -->\r\n          <form nz-form [formGroup]=\"form\"  *ngFor=\"let question of questions\">\r\n               <app-dynamic-form-question [question]=\"question\" [code] = \"0\" [form]=\"form\" (nzDeleteVote)=\"deleteVote($event)\" (nzEditVote)=\"editVote($event)\"></app-dynamic-form-question>  \r\n          </form>\r\n          <!-- <button (click)=\"delete()\">shanchu</button> -->\r\n        </div>\r\n      </div>\r\n  </div>","styles":["html.blue :host .area-bgcolor,html.blue :host .list-item{background-color:linear-gradient(to bottom right,#00127a,#000b40)}html.dark :host .area-bgcolor,html.dark :host .list-item{background-color:#242525}html.light :host .area-bgcolor,html.light :host .list-item{background-color:#f0f2f5}.list-item{height:45px;font-size:20px;line-height:45px;width:100%;margin-top:2px;margin-bottom:2px;text-align:center}.area-bgcolor{min-height:300px;height:372px;padding-top:6px;overflow:auto}"]}]}],"members":{"patrolTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":51,"character":25},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":52,"character":20},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":54,"character":15}]}],"ngOnInit":[{"__symbolic":"method"}],"onDropToForm":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"deleteVote":[{"__symbolic":"method"}],"editVote":[{"__symbolic":"method"}],"getForm":[{"__symbolic":"method"}],"getTemplateForm":[{"__symbolic":"method"}],"getQuestions":[{"__symbolic":"method"}]}},"PatrolControlPreviewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"app-patrol-control-preview","template":"<div class=\"form-div\">\r\n    <form nz-form [formGroup]=\"form\"  *ngFor=\"let question of questions\">\r\n        <app-dynamic-form-question [question]=\"question\" [code] = \"!isEmpty(jobId)? 2 : 1\" [form]=\"form\" ></app-dynamic-form-question>  \r\n    </form>\r\n    <!-- <button style = \"margin:6px 6px 0 0;float: right;\" *ngIf = \"questions.length > 0 && !this.formDisabled\" nz-button nzType=\"primary\" (click)=\"submitForm($event)\">提交</button> -->\r\n\r\n\r\n    <div *ngIf=\"list.length !== 0\">\r\n        <div style=\"margin-left: 10px;margin: bottom 15px;\">\r\n            <span style=\"  font-weight: 530;\">\r\n                已创建维修工单:\r\n            </span>\r\n        </div>\r\n        <div nz-col nzSpan=\"24\" *ngFor=\"let item of list\">\r\n\r\n            <nz-card style=\"width: 100%;\" [nzTitle]=\"title\" [nzExtra]=\"extra\">\r\n                <span>\r\n                    <div>描述: {{item.mark !== undefined && item.mark !== null ? item.mark : '无'}}</div>\r\n                </span>\r\n                <div>创建时间: {{item.callTime}}</div>\r\n            </nz-card>\r\n            <ng-template #title>\r\n                <span>工单号: {{item.jno}}</span>\r\n            </ng-template>\r\n            <ng-template #extra>\r\n                {{item.status}}\r\n            </ng-template>\r\n        </div>\r\n    </div>\r\n\r\n</div>\r\n\r\n","styles":["html.blue :host .form-div{background-color:linear-gradient(to bottom right,#00127a,#000b40)}html.dark :host .form-div{background-color:#242525}html.light :host .form-div{background-color:#f0f2f5}.form-div{max-height:600px;min-height:300px;padding-top:6px;overflow:auto}"]}]}],"members":{"controls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"formDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"groupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"jobId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"epNo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"equipment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":30,"character":25},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":33,"character":20},{"__symbolic":"reference","name":"ɵi"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"initRepairJobs":[{"__symbolic":"method"}],"initQuestions":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"getIndex":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"PatrolControlDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-patrol-control-detail","template":"    <form nz-form [formGroup]=\"controlForm\" [nzLayout]=\"'horizontal'\">\r\n          <nz-form-item>\r\n            <nz-form-label nzRequired>字段名称</nz-form-label>\r\n            <nz-form-control>\r\n              <input nz-input formControlName=\"label\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item>\r\n            <nz-form-label nzRequired>控&nbsp;&nbsp;件&nbsp;&nbsp;键</nz-form-label>\r\n            <nz-form-control nzErrorTip=\"必须以英文字母开头且唯一,且只包含英文字母、数字、下划线，如：name1_1\">\r\n              <input nz-input formControlName=\"key\" placeholder=\"必须以英文字母开头且唯一，如:name1_1\" pattern=\"^[a-zA-Z][a-zA-Z0-9_]*$\"/>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item  *ngIf=\"type == 'datepicker'? true:false\">\r\n            <nz-form-label nzRequired>显示格式</nz-form-label>\r\n            <nz-form-control>\r\n              <nz-select formControlName=\"format\" (ngModelChange)=\"ngFormatChange($event)\">\r\n                <nz-option nzValue=\"yyyy/MM/dd HH:mm\" nzLabel=\"yyyy/MM/dd HH:mm\"></nz-option>\r\n                <nz-option nzValue=\"yyyy/MM/dd\" nzLabel=\"yyyy/MM/dd\"></nz-option>\r\n              </nz-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item  *ngIf=\"type != 'upload'? true:false\">\r\n            <nz-form-label>&nbsp;&nbsp;&nbsp;默&nbsp;&nbsp;认&nbsp;&nbsp;值</nz-form-label>\r\n            <nz-form-control *ngIf=\"!(type == 'checkbox' || type == 'datepicker');else elseBlock\" >\r\n              <!-- <input nz-input formControlName=\"value\" [placeholder]=\"getPlaceholderByType(type)\" pattern=\"^\\d{4}-\\d{1,2}-\\d{1,2}$\"/> -->\r\n              <input nz-input formControlName=\"value\" [placeholder]=\"this.getPlaceholderByType(type)\"/>\r\n            </nz-form-control>\r\n            <ng-template #elseBlock>\r\n              <!-- <nz-form-control [nzErrorTip]=\"this.getErrorTipByType(type)\"> -->\r\n                <!-- <input nz-input formControlName=\"value\" [placeholder]=\"this.getPlaceholderByType(type)\" [pattern]=\"this.getPatternByType(type)\"/> -->\r\n              <nz-form-control>\r\n                <nz-radio-group *ngIf=\"type == 'checkbox'\" formControlName=\"value\">\r\n                  <label nz-radio nzValue=\"true\">选中</label>\r\n                  <label nz-radio nzValue=\"false\">不选中</label>\r\n                </nz-radio-group>\r\n                <nz-date-picker  style=\"width: 100%;\" *ngIf=\"type == 'datepicker'\" formControlName=\"value\" [nzShowTime]=\"showTimeFormat\" [nzFormat]=\"datePickerFormat\"></nz-date-picker>\r\n              </nz-form-control>\r\n            </ng-template>\r\n          </nz-form-item>\r\n          <!-- <nz-form-item>\r\n            <nz-form-label nzRequired>所在行数</nz-form-label>\r\n            <nz-form-control nzErrorTip=\"请填写整数\">\r\n              <nz-input-number style=\"width: 100%;\" formControlName=\"row\" [nzMin]=\"1\" [nzMax]=\"20\" [nzStep]=\"1\" pattern=\"^[1-9]\\d*$\"></nz-input-number>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item>\r\n            <nz-form-label nzRequired>所在列数</nz-form-label>\r\n            <nz-form-control nzErrorTip=\"请填写整数\">\r\n              <nz-input-number style=\"width: 100%;\" formControlName=\"column\" [nzMin]=\"1\" [nzMax]=\"10\" [nzStep]=\"1\" pattern=\"^[1-9]\\d*$\"></nz-input-number>\r\n            </nz-form-control>\r\n          </nz-form-item> -->\r\n          <nz-form-item>\r\n            <nz-form-label nzRequired>显示序号</nz-form-label>\r\n            <nz-form-control nzErrorTip=\"请填写整数\">\r\n              <nz-input-number style=\"width: 100%;\" formControlName=\"order\" [nzMin]=\"0\" [nzStep]=\"1\" pattern=\"^[+]{0,1}(\\d+)$\"></nz-input-number>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item  *ngIf=\"(type != 'upload'&& type != 'checkbox' && type != 'datepicker' )? true:false\">\r\n            <nz-form-label>&nbsp;&nbsp;&nbsp;单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</nz-form-label>\r\n            <nz-form-control>\r\n              <input nz-input formControlName=\"unit\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item  *ngIf=\"(type != 'upload'&& type != 'checkbox')? true:false\">\r\n            <nz-form-label>&nbsp;&nbsp;&nbsp;提示内容</nz-form-label>\r\n            <nz-form-control>\r\n              <input nz-input formControlName=\"placeholder\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n          <nz-form-item *ngIf=\"type == 'select'? true:false\">\r\n            <nz-form-label nzRequired>下拉选项</nz-form-label>\r\n            <nz-form-control>\r\n              <textarea rows=\"2\" nz-input formControlName=\"options\" maxlength=\"1024\" placeholder=\"使用英文','分割，例如：货车,汽车,轮船\"></textarea>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n    </form>\r\n","styles":[""]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":50,"character":15}]}],"ngOnInit":[{"__symbolic":"method"}],"concatOptions":[{"__symbolic":"method"}],"getControForm":[{"__symbolic":"method"}],"getPatternByType":[{"__symbolic":"method"}],"getPlaceholderByType":[{"__symbolic":"method"}],"getErrorTipByType":[{"__symbolic":"method"}],"ngFormatChange":[{"__symbolic":"method"}],"getValueByList":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"DynamicFormQuestionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-dynamic-form-question","template":"<div [formGroup]=\"form\">\r\n    <!-- <div nz-row [nzGutte]=\"24\"> -->\r\n        <div nz-col nzSpan=\"24\">\r\n            <nz-form-item>\r\n                <nz-form-label  nzNoColon = \"true\" nzSpan=\"6\">{{question.ptctNo == 'checkbox'?'':question.label}}</nz-form-label>\r\n                <nz-form-control  [nzSpan]=\"(code==1 || code == 2)?'18':'15'\" style=\"width: 100%;\">\r\n                    <div [ngSwitch]=\"question.ptctNo\">\r\n                        <!-- <input nz-input *ngSwitchCase=\"'input'\" [formControlName]=\"question.key\"\r\n                                [id]=\"question.key\" [type]=\"question.type\" /> -->\r\n                        <nz-input-group *ngSwitchCase=\"'input'\" [nzSuffix]=\"question.unit\">\r\n                            <input nz-input *ngSwitchCase=\"'input'\" [formControlName]=\"question.key\"\r\n                                [id]=\"question.key\" [type]=\"question.type\" [placeholder] = \"question.placeholder\"/>\r\n                        </nz-input-group>\r\n                        <nz-select [id]=\"question.key\" *ngSwitchCase=\"'select'\" [formControlName]=\"question.key\" [nzPlaceHolder]=\"question.placeholder\"> \r\n                            <nz-option *ngFor=\"let opt of question.options\" [nzValue]=\"opt.key\" [nzLabel]=\"opt.value\"></nz-option>\r\n                        </nz-select>\r\n                        <nz-input-group *ngSwitchCase=\"'inputnumber'\" [nzSuffix]=\"question.unit\">\r\n                            <input nz-input *ngSwitchCase=\"'inputnumber'\" [formControlName]=\"question.key\" [placeholder] = \"question.placeholder\"\r\n                                [id]=\"question.key\" [type]=\"question.type\"  pattern=\"^-?(0|[1-9][0-9]*)(\\.[0-9]*)?$\"/>\r\n                        </nz-input-group>\r\n                        <!-- <nz-input-number [id]=\"question.key\" *ngSwitchCase=\"'inputnumber'\" style=\"width: 100%;\" [formControlName]=\"question.key\" [nzMin]=\"0\"></nz-input-number> -->\r\n                        <label nz-checkbox [id]=\"question.key\" *ngSwitchCase=\"'checkbox'\" [formControlName]=\"question.key\">{{question.label}}</label>\r\n                        <textarea rows=\"2\" nz-input [id]=\"question.key\" *ngSwitchCase=\"'textarea'\" [formControlName]=\"question.key\" [placeholder] = \"question.placeholder\"></textarea>\r\n                        <nz-date-picker nz-input [id]=\"question.key\" *ngSwitchCase=\"'datepicker'\" style=\"width: 100%;\" [formControlName]=\"question.key\"\r\n                        [nzFormat]=\"question.format\" [nzShowTime]=\"getShowTime(question.format)\"></nz-date-picker>\r\n                        <app-upload-file [id]=\"question.key\" *ngSwitchCase=\"'upload'\" [fileList]=\"images\" [showUploadList]=\"showUploadList\" [showButton] = \"1\" [disabled] = \"code ==2? 1 : 0 \"></app-upload-file>\r\n                    </div>\r\n                </nz-form-control>\r\n                <!-- <div><span>{{question.unit}}</span></div> -->\r\n                <div *ngIf=\"code==0\" nzSpan=\"3\" style=\"margin-left:12px\">\r\n                    <button style = \"margin:4px 4px 0px 0px ;\" class=\"btn-batch-del\" nz-button nzType=\"primary\" [nzSize]=\"'small'\" nzShape=\"circle\" nzTooltipTitle=\"删除\" nz-tooltip nzTooltipPlacement=\"bottom\" (click)=\"delete()\"><i nz-icon nzType=\"delete\" nzTheme=\"outline\"></i></button>\r\n                    <button nz-button nzType=\"primary\" [nzSize]=\"'small'\" nzShape=\"circle\" nzTooltipTitle=\"编辑\" nz-tooltip nzTooltipPlacement=\"bottom\" (click)=\"edit()\"><i nz-icon nzType=\"edit\" nzTheme=\"outline\"></i></button>\r\n                </div>\r\n            </nz-form-item>\r\n        </div>\r\n    <!-- <div class=\"errorMessage\" *ngIf=\"!isValid\">{{question.label}} is required</div> -->\r\n  </div>\r\n  ","styles":["html.blue :host ::ng-deep .ant-form-item{background-color:#101b47}html.dark :host ::ng-deep .ant-form-item{background-color:#242525}html.light :host ::ng-deep .ant-form-item{background-color:#fff}:host ::ng-deep .ant-form-item{box-sizing:border-box;margin:6px;padding:12px;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";vertical-align:top}"]}]}],"members":{"question":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"nzDeleteVote":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"nzEditVote":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"getShowTime":[{"__symbolic":"method"}]}},"QuestionBase":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":17,"character":23,"module":"./lib/patrol-template-management/controls/question-base"}]}]}},"CheckBoxQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"DatePickerQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"InputQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"InputNumberQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"SelectQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"TextAreaQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"UpLoadQuestion":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"QuestionBase"},"members":{}},"JobDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"app-job-detail","template":"<div #jobDetail>\r\n    <app-job-detail-header #detailHeader\r\n    (nzTypeChangedVote) = \"typeChanged($event)\" \r\n    (nzThirdServiceChangedVote) = \"thirdServiceChanged($event)\" \r\n    [job] = \"currentJob\" [code] = 'code'></app-job-detail-header>\r\n    <app-job-detail-foot #detailFoot (nzOperaVote)=\"operaFunction($event)\" (nzLinkVote)=\"linkFunction($event)\" [job] = \"currentJob\" [code] = 'code' [listOfAllData] =\"listOfAllData\"></app-job-detail-foot>\r\n</div>\r\n","styles":[".charge-div{text-align:center;float:left;margin-top:6px;margin-right:12px}.charge-div span{font-size:14px;color:rgba(0,0,0,.85)}.unit-div{text-align:left;float:right;margin-top:6px}.unit-div span{font-size:14px;color:rgba(0,0,0,.85)}.note-div span{font-size:12px;color:red}.ant-input-number{width:120px}"]}]}],"members":{"jobDetailHeaderComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":["detailHeader",{"static":true}]}]}],"jobDetailFootComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":3},"arguments":["detailFoot",{"static":true}]}]}],"jobCostComponent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["jobCost",{"static":true}]}]}],"jobDetailElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":34,"character":3},"arguments":["jobDetail"]}]}],"currentJob":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":42,"character":19},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":44,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":45,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":46,"character":19},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵt"}]}],"ngOnInit":[{"__symbolic":"method"}],"operaFunction":[{"__symbolic":"method"}],"linkFunction":[{"__symbolic":"method"}],"updateJob":[{"__symbolic":"method"}],"typeChanged":[{"__symbolic":"method"}],"thirdServiceChanged":[{"__symbolic":"method"}],"updateListOfAllData":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"formatDate":[{"__symbolic":"method"}],"generatePDF":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"isNaN":[{"__symbolic":"method"}]}},"JobDetailHeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"app-job-detail-header","template":"<div>\r\n  <!-- <nz-steps nzLabelPlacement=\"vertical\" nzSize=\"small\" [nzCurrent]=\"data\">\r\n        <nz-step *ngFor=\"let s of stepList\"\r\n        [nzTitle]=\"s.name\"\r\n        [nzDescription]=\"s.createdtime | date:'yyyy-MM-dd HH:mm:ss'\"></nz-step>\r\n    </nz-steps> -->\r\n  <nz-steps nzLabelPlacement=\"vertical\" nzSize=\"small\" [nzCurrent]=\"currentStep\">\r\n    <nz-step *ngFor=\"let s of stepList\" [nzTitle]=\"s.name\"></nz-step>\r\n  </nz-steps>\r\n  <div>\r\n    <form nz-form [formGroup]=\"validateForm\" class=\"ant-advanced-search-form\">\r\n      <div nz-row [nzGutter]=\"24\">\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>工单编号</nz-form-label>\r\n            <nz-form-control nzSpan=15>\r\n              <input nz-input formControlName=\"jno\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>业务类型</nz-form-label>\r\n            <nz-form-control [nzTooltipTitle]=\"typeTemp\" nzTooltipPlacement=\"bottomLeft\" nz-tooltip nzSpan=15>\r\n              <nz-tree-select #typeTreeSelect  nzVirtualHeight=\"300px\" formControlName=\"jtNo\" [nzNodes]=\"jobTypes\" nzShowSearch nz-size =\"large\"\r\n                nzPlaceHolder=\"请选择\" (ngModelChange)=\"treeSelectChanged($event)\">\r\n              </nz-tree-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>优先级</nz-form-label>\r\n            <nz-form-control nzSpan=15>\r\n              <nz-select nzAllowClear formControlName=\"jlNo\">\r\n                <nz-option *ngFor=\"let jl of jobLevels\" [nzValue]=\"jl.jlId\" [nzLabel]=\"jl.jlName\">\r\n                </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 [nzGutter]=\"24\">\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>计划编号</nz-form-label>\r\n            <nz-form-control nzSpan=15>\r\n              <input nz-input formControlName=\"pno\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>计划名称</nz-form-label>\r\n            <nz-form-control nzSpan=15>\r\n              <input nz-input formControlName=\"taskName\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div> \r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=\"9\">位置</nz-form-label>\r\n            <nz-form-control nzSpan=\"15\">\r\n              <!-- <input nz-input formControlName=\"location\" /> -->\r\n              <nz-tree-select  nzVirtualHeight=\"300px\" formControlName=\"location\" [nzNodes]=\"jobLocations\" nzShowSearch nz-size =\"large\"\r\n                nzPlaceHolder=\"请选择\" (ngModelChange)=\"locationtreeSelectChanged($event)\">\r\n              </nz-tree-select>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>       \r\n      </div>\r\n      <div nz-row [nzGutter]=\"24\">\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=\"9\">报修人姓名</nz-form-label>\r\n            <nz-form-control nzSpan=\"15\">\r\n              <input nz-input formControlName=\"callerName\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=\"9\">报修人电话</nz-form-label>\r\n            <nz-form-control nzSpan=\"15\">\r\n              <input nz-input formControlName=\"callerPhone\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-control nzOffset=\"4\" nzSpan=\"10\">\r\n              <label nz-checkbox formControlName=\"isThirdServices\" (ngModelChange)=\"thirdServiceCheckBoxChanged($event)\">三方服务</label>\r\n            </nz-form-control>\r\n            <nz-form-control nzSpan=\"10\" *ngIf=\"this.validateForm.value.isEquipment == '1'\">\r\n              <label nz-checkbox formControlName=\"isAccidentShutdown\">意外停机</label>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n\r\n      </div>\r\n      <div nz-row [nzGutter]=\"24\">\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=\"9\">预估工时(时)</nz-form-label>\r\n            <nz-form-control nzSpan=\"15\">\r\n              <nz-input-number formControlName=\"hourEstimation\" [nzMin]=\"0\" [nzStep]=\"0.1\" style=\"width:100%\"></nz-input-number>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=\"9\">要求完成时间</nz-form-label>\r\n            <nz-form-control nzSpan=\"15\">\r\n              <nz-date-picker nzFormat='yyyy-MM-dd HH:mm:ss' \r\n                [nzDisabledDate]=\"disabledDate\" \r\n                nzShowTime nzDropdownClassName=\"date_calendar\"\r\n                formControlName=\"estimatedCompletedTime\"></nz-date-picker>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item *ngIf=\" this.job.status=='5' || this.job.status=='4'\">\r\n            <nz-form-label nzSpan=9>维修工时(时)</nz-form-label>\r\n            <nz-form-control nzSpan=15>\r\n              <input nz-input formControlName=\"hourCompleted\" />\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>\r\n      <nz-collapse nzBordered=\"false\">\r\n        <nz-collapse-panel nzActive=\"true\" nzShowArrow=\"true\" nzHeader=\"显示\">\r\n          <div nz-row [nzGutter]=\"24\">\r\n            <div nz-col [nzSpan]=\"8\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"9\">报修类型</nz-form-label>\r\n                <nz-form-control nzSpan=\"15\">\r\n                  <!-- <label nz-checkbox formControlName=\"isEquipment\">是否固定资产</label> -->\r\n                  <nz-select  nzPlaceHolder=\"类型\" formControlName=\"deviceType\" (ngModelChange) = \"ngModelChangeType($event)\">\r\n                    <nz-option nzLabel=\"设备\" nzValue=\"equipment\"></nz-option>\r\n                    <nz-option nzLabel=\"区域\" nzValue=\"area\"></nz-option>\r\n                    <nz-option nzLabel=\"其他\" nzValue=\"other\"></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]=\"8\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"9\" [hidden]=\"this.validateForm.value.deviceType == 'other'\">编号</nz-form-label>\r\n                <nz-form-control nzSpan=\"15\" [hidden]=\"this.validateForm.value.deviceType == 'other'\">\r\n                  <!-- <input nz-input formControlName=\"epNo\" /> -->\r\n                  <nz-select\r\n                    nzShowSearch\r\n                    nzServerSearch\r\n                    [nzPlaceHolder]=\"this.validateForm.value.deviceType === 'equipment'?'搜索设备':'搜索区域'\"\r\n                    formControlName=\"epNo\"\r\n                    [nzShowArrow]=\"false\"\r\n                    [nzFilterOption]=\"nzFilterOption\"\r\n                    (nzOnSearch)=\"search($event)\"\r\n                    (ngModelChange) = \"nzmodelChange($event)\"\r\n                  >\r\n                  <nz-option *ngFor=\"let o of equipments\" [nzLabel]=\"o.value\" [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 nz-col [nzSpan]=\"8\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"9\" [hidden]= \"this.validateForm.value.deviceType == 'other'\">名称</nz-form-label>\r\n                <nz-form-control nzSpan=\"15\" [hidden]= \"this.validateForm.value.deviceType == 'other'\">\r\n                  <input nz-input formControlName=\"epName\" />\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n          <div nz-row [nzGutter]=\"24\">\r\n            <div nz-col [nzSpan]=\"24\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"3\" style = \"padding-right: 7px;\">详细描述</nz-form-label>\r\n                <nz-form-control nzSpan=\"21\" style = \"margin-left: -7px;\">\r\n                  <textarea rows=\"2\" nz-input formControlName=\"mark\" maxlength=\"1024\"></textarea>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n          <div nz-row [nzGutter]=\"24\">\r\n            <div nz-col [nzSpan]=\"24\" [hidden]=\"!(this.job.status=='4' || this.job.status=='5')\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"3\" style = \"padding-right: 7px;\">维修日志</nz-form-label>\r\n                <nz-form-control nzSpan=\"21\" style = \"margin-left: -7px;\">\r\n                  <textarea rows=\"2\" nz-input formControlName=\"completedRecord\" maxlength=\"1024\"></textarea>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n          <div nz-row [nzGutter]=\"24\"\r\n          [hidden]=\"this.job.source=='2'\">\r\n            <div nz-col [nzSpan]=\"24\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"3\">报修图片</nz-form-label>\r\n                <nz-form-control nzSpan=\"21\">\r\n                  <app-upload-file [fileList]=\"this.job.attachments\" [showUploadList]=\"showUploadList\"\r\n                    (nzVoted)=\"setFaultFileList($event)\"></app-upload-file>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n          <div nz-row [nzGutter]=\"24\"\r\n            [hidden]=\"!(this.job.status=='3' || this.job.status=='4' || this.job.status=='5') || this.job.source=='2'\">\r\n            <div nz-col [nzSpan]=\"24\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"3\">维修前图片</nz-form-label>\r\n                <nz-form-control nzSpan=\"21\">\r\n                  <app-upload-file [fileList]=\"this.job.beforeRecordAttachments\" [showUploadList]=\"showUploadList\"\r\n                    (nzVoted)=\"setFaultFileList($event)\"></app-upload-file>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n          <div nz-row [nzGutter]=\"24\" [hidden]=\"!(this.job.status=='4' || this.job.status=='5') || this.job.source=='2'\">\r\n            <div nz-col [nzSpan]=\"24\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"3\">维修后图片</nz-form-label>\r\n                <nz-form-control nzSpan=\"21\">\r\n                  <app-upload-file [fileList]=\"this.job.completedRecordAttachments\" [showUploadList]=\"showUploadList\"\r\n                    (nzVoted)=\"setCompletedFileList($event)\"></app-upload-file>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n\r\n          <div nz-row [nzGutter]=\"24\">\r\n            <div nz-col [nzSpan]=\"24\">\r\n              <nz-form-item>\r\n                <nz-form-label nzSpan=\"3\" style = \"padding-right: 7px;\">审核描述</nz-form-label>\r\n                <nz-form-control nzSpan=\"21\" style = \"margin-left: -7px;\">\r\n                  <textarea rows=\"2\" nz-input formControlName=\"verifyDesc\" maxlength=\"1024\"></textarea>\r\n                </nz-form-control>\r\n              </nz-form-item>\r\n            </div>\r\n          </div>\r\n\r\n          <div nz-row [nzGutter]=\"24\">\r\n            <div nz-col [nzSpan]=\"24\">\r\n              <button *ngIf= \"this.job.status=='5'\" nz-button nzType=\"link\" style=\"float:right;margin-right:24px;margin-bottom:-10px;\"\r\n              (click)=\"createKnowledge()\" [acl]=\"{ ability: ['oms:knowledge:add'], mode: 'oneOf' }\">生成知识点</button>\r\n            </div>\r\n          </div>\r\n\r\n        </nz-collapse-panel>\r\n      </nz-collapse>\r\n      <app-job-quotation-table [jobId] = \"job.jno\" [jobStatus] = \"parseNumber(job.status)\" *ngIf=\"job.isThirdServices == '1'\"></app-job-quotation-table>\r\n      <nz-collapse nzBordered=\"false\" *ngIf=\"job.source==='2' && groups.length > 0\">\r\n        <nz-collapse-panel nzActive=\"true\" nzShowArrow=\"true\" nzHeader=\"巡检组\">\r\n          <div nz-row [nzGutter]=\"24\">\r\n            <div nz-col [nzSpan]=\"6\" *ngFor=\"let group of groups\">\r\n              <button style=\"width: 100%;\" nz-button [nzSize]=\"'large'\" nzType=\"default\" (click)=\"showModal(group)\">\r\n                  <i [class]=\"group.groupType!='1'?'iconfont icon-area':'iconfont icon-equipment'\" style=\"position: absolute;left: 0px;top:0px;font-size: 24px;\" [style.color] = \"group.state == '1'? '#1296DB':'#000'\"></i>\r\n                 {{group.groupName}}</button>\r\n            </div>\r\n          </div>\r\n        </nz-collapse-panel>\r\n      </nz-collapse>\r\n    </form>\r\n    <nz-divider></nz-divider>\r\n  </div>\r\n</div>\r\n\r\n<!--业务类型提示框-->\r\n<ng-template #typeTemp>\r\n  <span>{{typeTooltip}}</span>\r\n</ng-template>","styles":["html.blue :host ::ng-deep .ant-collapse-borderless{background-color:#101b47}html.blue :host ::ng-deep .ant-form-item-control-input,html.blue :host ::ng-deep .ant-input,html.blue :host ::ng-deep .ant-input-number-input,html.blue :host ::ng-deep .ant-picker,html.blue :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#023b86}html.blue :host .icon-area:before,html.blue :host .icon-equipment:before{color:#fff;background:transparent}html.blue :host ::ng-deep .ant-table table{border:1px solid #15245e}html.dark :host ::ng-deep .ant-collapse-borderless{background-color:#242525}html.dark :host ::ng-deep .ant-form-item-control-input,html.dark :host ::ng-deep .ant-input,html.dark :host ::ng-deep .ant-input-number-input,html.dark :host ::ng-deep .ant-picker,html.dark :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#242525}html.dark :host .icon-area:before,html.dark :host .icon-equipment:before{color:#fff;background:transparent}html.dark :host ::ng-deep .ant-table table{border:1px solid #15245e}html.light :host ::ng-deep .ant-collapse-borderless{background-color:#fff}html.light :host ::ng-deep .ant-form-item-control-input,html.light :host ::ng-deep .ant-input,html.light :host ::ng-deep .ant-input-number-input,html.light :host ::ng-deep .ant-picker,html.light :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#fff}html.light :host .icon-area:before,html.light :host .icon-equipment:before{color:#141414;background:transparent}html.light :host ::ng-deep .ant-table table{border:1px solid #15245e}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:8px}:host ::ng-deep .ant-upload-list-picture-card .ant-upload-list-item{width:60px;height:60px}:host ::ng-deep .ant-collapse-borderless>.ant-collapse-item{border-bottom:0 solid #d9d9d9}:host ::ng-deep .ant-collapse-content>.ant-collapse-content-box{padding:0}:host ::ng-deep .clearfix{height:64px}:host ::ng-deep .ant-upload-list-item{padding:2px}"]}]}],"members":{"nzTypeChangedVote":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"nzThirdServiceChangedVote":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"job":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"typeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":["typeTreeSelect"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":64,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":65,"character":19},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":67,"character":17},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":68,"character":19},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":68,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"initLocations":[{"__symbolic":"method"}],"treeSelectChanged":[{"__symbolic":"method"}],"fillTypeTooltip":[{"__symbolic":"method"}],"locationtreeSelectChanged":[{"__symbolic":"method"}],"setStepList":[{"__symbolic":"method"}],"setFaultFileList":[{"__symbolic":"method"}],"setCompletedFileList":[{"__symbolic":"method"}],"setFormData":[{"__symbolic":"method"}],"setFormDisable":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"getValidateForm":[{"__symbolic":"method"}],"getJob":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"nzmodelChange":[{"__symbolic":"method"}],"ngModelChangeType":[{"__symbolic":"method"}],"createKnowledge":[{"__symbolic":"method"}],"initTypeData":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"disabledDate":[{"__symbolic":"method"}],"thirdServiceCheckBoxChanged":[{"__symbolic":"method"}],"showModal":[{"__symbolic":"method"}],"parseNumber":[{"__symbolic":"method"}]}},"JobDetailFootComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-job-detail-foot","template":"<div>\r\n  <!-- <nz-table\r\n  #rowSelectionTable\r\n  nzShowPagination\r\n  nzShowSizeChanger\r\n  nzPageSize=2\r\n  [nzData]=\"listOfAllData\"\r\n  (nzCurrentPageDataChange)=\"currentPageDataChange($event)\"\r\n  [hidden]=\"job.status=='0'?true:false\"\r\n  > -->\r\n  <nz-table [class]=\"listOfAllData.length > 0 ? 'repairer-table' : ''\"\r\n    #rowSelectionTable\r\n    [nzVirtualItemSize]=\"24\"\r\n    [nzData]=\"listOfAllData\"\r\n    [nzFrontPagination]=\"false\"\r\n    [nzShowPagination]=\"false\"\r\n    [nzScroll]=\"{x: '650px' , y: '108px' }\"\r\n    [nzSize] =\"'small'\"\r\n    nzTableLayout=\"fixed\"\r\n  >\r\n    <thead>\r\n      <tr>\r\n        <th\r\n          nzShowCheckbox\r\n          [nzChecked]=\"numberOfChecked > 0  || job.status!='1'\"\r\n          [nzIndeterminate]=\"isIndeterminate\"\r\n          (nzCheckedChange)=\"checkAll($event)\"\r\n          [nzDisabled] = \"true\"\r\n          nzWidth=\"60px\"\r\n          nzLeft\r\n        ></th>\r\n        <th nzWidth=\"100px\">维修员姓名</th>\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      <ng-template nz-virtual-scroll let-data>\r\n      <tr>\r\n        <ng-container *ngIf=\"this.job.status == '2' || this.job.status == '3' || this.job.status == '4'; else elseTemplate\">\r\n          <td\r\n            nzChecked=\"true\"\r\n            nzShowCheckbox\r\n            (nzCheckedChange)=\"refreshStatus($event)\"\r\n            [nzDisabled]=\"'true'\"\r\n            nzLeft=\"0px\"\r\n        ></td>\r\n        </ng-container>\r\n        <ng-template #elseTemplate>\r\n          <td *ngIf=\"code != 1\"\r\n            [(nzChecked)]=\"mapOfCheckedId[data.userId]\"\r\n            nzShowCheckbox\r\n            (nzCheckedChange)=\"refreshStatus($event)\"\r\n            [nzDisabled]=\"job.status!='1'\"\r\n            nzLeft=\"0px\"\r\n          ></td>\r\n          <td *ngIf=\"code == 1\"\r\n            [(nzChecked)]=\"mapOfCheckedId[data.userId]\"\r\n            nzShowCheckbox\r\n            (nzCheckedChange)=\"refreshStatus($event)\"\r\n            [nzDisabled]=\"true\"\r\n            nzLeft=\"0px\"\r\n          ></td>\r\n        </ng-template>\r\n        <td>{{ data.userName }}</td>\r\n        <td>{{ data.jobNum == null? 0: data.jobNum}}</td>\r\n        <td>{{ data.hoursEstimation == null? 0: data.hoursEstimation }}</td>\r\n        <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"data.skillName\">{{ data.skillName }}</span></td>\r\n        <td>{{ data.phonenumber }}</td>\r\n        <td *ngIf=\"data.isWorking == 0\"><nz-tag [nzColor]=\"'red'\">休息</nz-tag></td>\r\n        <td *ngIf=\"data.isWorking != 0\"><nz-tag [nzColor]=\"'blue'\">值班</nz-tag></td>            \r\n        <!-- <td>\r\n          <nz-time-picker [ngModel]=\"data.startTime\" nzFormat=\"HH:mm\" nzDisabled=\"true\" nzAllowEmpty=\"false\"\r\n              style=\"width:80px; text-align: center;\">\r\n          </nz-time-picker>\r\n          <nz-time-picker [ngModel]=\"data.endTime\" nzFormat=\"HH:mm\" nzDisabled=\"true\" nzAllowEmpty=\"false\"\r\n              style=\"width:80px; text-align: center;\">\r\n          </nz-time-picker>\r\n        </td> -->\r\n      </tr>\r\n  </ng-template>\r\n    </tbody>\r\n</nz-table>\r\n<nz-collapse nzBordered=\"false\" *ngIf = \"signatureList.length > 0 \">\r\n  <nz-collapse-panel nzActive=\"true\" nzShowArrow=\"true\" nzHeader=\"三方服务签字\">\r\n    <div style=\"width: 100%;display: flow-root\"> \r\n      <nz-image-group>\r\n        <div  class=\"signature-div\" *ngFor=\"let item of signatureList\" (mouseenter)=\"signatureMouseEnter(item)\"  (mouseleave)=\"signatureMouseLeave(item)\">\r\n          <a  [hidden]=\"job.status =='5' || !item.isDisplayDelete\" nz-button nzType=\"link\" nz-tooltip nzTooltipTitle = \"删除\" nzTooltipPlacement=\"bottom\"  class=\"icon-div\"\r\n          (click)=\"deleteSignature(item.id)\">\r\n                <i class =\"iconfont icon-delete link-font\"></i>\r\n          </a>\r\n          <img nz-image width=\"100px\"  [nzSrc]=\"item.signatureUrl\" alt=\"\"/>\r\n        </div>\r\n        \r\n      </nz-image-group>\r\n    </div>\r\n    \r\n  </nz-collapse-panel>\r\n</nz-collapse>\r\n<div class=\"link-div\" [hidden]=\"code == 1 || job.isDuplicate == '1'\">\r\n  <a [hidden]=\"job.status!='3'\" nz-button nzType=\"link\" nzGhost appCusAcl=\"{ ability: ['oms:jobmanager:omjob:dispatch','oms:facility:SparePartsManagement:requisitionManager'], mode: 'oneOf' }\" (click)=\"openFunction(1)\">填写领料单</a>\r\n  <a [hidden]=\"job.status!='3'\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(2)\" appCusAcl=\"{ ability: ['oms:facility:SparePartsManagement:requisitionManager'], mode: 'oneOf' }\">领料单</a>\r\n  <a [hidden]=\"code == 3\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(3)\" appCusAcl=\"{ ability: ['oms:knowledge:query'], mode: 'oneOf' }\">知识库</a>\r\n  <a [hidden]=\"code == 3\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(4)\" appCusAcl=\"{ ability: ['oms:facility:SparePartsManagement:query'], mode: 'oneOf' }\">备件库</a>\r\n  <a [hidden]=\"code == 3\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(8)\" appCusAcl=\"{ ability: ['oms:facility:toolManager:query'], mode: 'oneOf' }\">工具库</a>\r\n  <!-- <a [hidden]=\"!isThirdService\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(11)\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:requisitionManager'\">报价单</a> -->\r\n\r\n\r\n  <a [hidden]=\"job.isEquipment == '0' || code == 3\" nz-button nzType=\"link\" nzGhost appCusAcl =\"{ ability: ['oms:jobmanager:omjob:dispatch', 'oms:jobmanager:omjob:repairerecordquery'], mode: 'oneOf' }\" (click)=\"openFunction(5)\">历史维修记录</a>\r\n  <!-- <a nz-button nzType=\"link\" nzGhost >维修说明书</a>\r\n  <a nz-button nzType=\"link\" nzGhost >作业指导文件</a> -->\r\n  <a [hidden]=\"!((this.isEmpty(job.starEvaluationAdmin)||this.isNaN(job.starEvaluationAdmin)) && job.status == '5') || code == 3\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(6)\" appCusAcl = \"{ ability: ['oms:jobmanager:omjob:dispatch'], mode: 'oneOf' }\">评价</a>\r\n  <a [hidden]=\"this.isEmpty(job.starEvaluationAdmin)||this.isNaN(job.starEvaluationAdmin) || job.status != '5'\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(7)\">评价详情</a>\r\n  <!-- <a [hidden]=\"parseNumber(job.status) < 4\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(11)\">查看签名</a> -->\r\n  <a [hidden]=\"parseNumber(job.status) < 4 || !jobDetailToPdf\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(12)\">保存PDF</a>\r\n\r\n  <!-- <a *ngIf=\"job.status == '5' && this.listCost.length == 0\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(9)\">填报费用</a>\r\n  <a *ngIf=\"job.status == '5' && this.listCost.length > 0\" nz-button nzType=\"link\" nzGhost (click)=\"openFunction(10)\">查看费用</a> -->\r\n</div>\r\n<div class=\"operate-div\" [hidden]=\"job.isDuplicate == '1'\">\r\n  <!-- <button nz-button [hidden]=\"job.status !='0' || code != 2\" [nzType]=\"'primary'\" (click)=\"operateFunction(1)\" acl [acl-ability]=\"'oms:jobmanager:omjob:dispatch'\">受理</button> -->\r\n  <button nz-button [hidden]=\"job.status !='1' || code != 2\" [disabled]=\"!(numberOfChecked !== 0 && !isTransfer)\" [nzType]=\"'primary'\" (click)=\"operateFunction(2)\" appCusAcl = \"{ ability: ['oms:jobmanager:omjob:dispatch'], mode: 'oneOf' }\">派发</button>\r\n  <button nz-button [hidden]=\"(job.status !='2'&&job.status !='3'&&job.status !='4') || code != 2\" [disabled]=\"isTransfer\" [nzType]=\"'primary'\" (click)=\"operateFunction(3)\" appCusAcl = \"{ ability: ['oms:jobmanager:omjob:dispatch'], mode: 'oneOf' }\">重派</button>\r\n  <button nz-button [hidden]=\"job.status=='5' || code != 2 \"  (click)=\"operateFunction(4)\" [disabled] = \"!isTransfer\" appCusAcl = \"{ ability: ['oms:jobmanager:omjob:dispatch'], mode: 'oneOf' }\">转出</button>\r\n  <button nz-button [hidden]=\"job.status!='4' || code != 2 \" [nzType]=\"'primary'\" (click)=\"operateFunction(6)\" appCusAcl = \"{ ability: ['oms:jobmanager:omjob:dispatch'], mode: 'oneOf' }\">通过</button>\r\n  <button nz-button [hidden]=\"job.status!='4' || code != 2 \" [nzType]=\"'primary'\" (click)=\"operateFunction(7)\" appCusAcl = \"{ ability: ['oms:jobmanager:omjob:dispatch'], mode: 'oneOf' }\">不通过</button>\r\n\r\n  <button nz-button  [nzType]=\"'primary'\" (click)=\"operateFunction(0)\">关闭</button>\r\n  <button nz-button [hidden]=\"code != 1 \" [nzType]=\"'primary'\" (click)=\"operateFunction(5)\" appCusAcl=\"{ ability: ['oms:jobmanager:omjob:dispatch', 'oms:jobmanager:omjob:edit'], mode: 'oneOf' }\">提交</button>\r\n\r\n\r\n  <!-- 使用角色进行显示或隐藏的时候，使用下面这段 -->\r\n  <!-- <button nz-button  [nzType]=\"'primary'\" (click)=\"operateFunction(0)\" [acl]=\"'operatorAdmin'\">关闭</button> -->\r\n  <!-- 使用权限进行显示或隐藏的时候，使用下面这段 -->\r\n  <!-- <button nz-button  [nzType]=\"'primary'\" (click)=\"operateFunction(0)\" acl [acl-ability]=\"'oms:jobmanager:omjob:operate'\">关闭</button> -->\r\n</div>\r\n</div>\r\n\r\n\r\n    ","styles":["html.blue :host .link-div{background:#012b61;padding:0 16px;margin-top:8px}html.blue :host .link-div a{margin:2px 8px 2px 0}html.blue :host .signature-div{border:2px solid #023b86;padding:6px;margin:0 0 6px 12px;float:right;position:relative}html.blue :host .signature-div .icon-div{position:absolute;top:20%;left:40%}html.blue :host ::ng-deep .ant-table.ant-table-small .nz-table-hide-scrollbar{background:#023b86}html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}html.blue :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{border:1px solid #023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.blue :host ::ng-deep .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:0 auto}html.blue :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0}html.blue :host ::ng-deep .repairer-table .ant-table-container{border:1px solid #023b86}html.dark :host .link-div{background:#242525;padding:0 16px;margin-top:8px}html.dark :host .link-div a{margin:2px 8px 2px 0}html.dark :host .signature-div{border:2px solid #1d1d1d;padding:6px;margin:0 0 6px 12px;float:right;position:relative}html.dark :host .signature-div .icon-div{position:absolute;top:20%;left:40%}html.dark :host ::ng-deep .ant-table.ant-table-small .nz-table-hide-scrollbar{background:#1d1d1d}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}html.dark :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{border:1px solid #1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.dark :host ::ng-deep .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:0 auto}html.dark :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0}html.dark :host ::ng-deep .repairer-table .ant-table-container{border:1px solid #1d1d1d}html.light :host .link-div{background:#bec8c8;padding:0 16px;margin-top:8px}html.light :host .link-div a{margin:2px 8px 2px 0}html.light :host .signature-div{border:2px solid #e8e8e8;padding:6px;margin:0 0 6px 12px;float:right;position:relative}html.light :host .signature-div .icon-div{position:absolute;top:20%;left:40%}html.light :host ::ng-deep .ant-table.ant-table-small .nz-table-hide-scrollbar{background:#e8e8e8}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}html.light :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{border:1px solid #e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}html.light :host ::ng-deep .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:0 auto}html.light :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0}html.light :host ::ng-deep .repairer-table .ant-table-container{border:1px solid #e8e8e8}.operate-div{margin-top:16px;margin-bottom:-8px;text-align:right}.operate-div button{margin-left:8px}:host ::ng-deep .ant-btn-background-ghost{border-color:#bec8c8}"]}]}],"members":{"nzOperaVote":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"nzLinkVote":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"job":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"listOfAllData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":34,"character":26},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":37,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"currentPageDataChange":[{"__symbolic":"method"}],"refreshStatus":[{"__symbolic":"method"}],"getCheckedItem":[{"__symbolic":"method"}],"setTransfer":[{"__symbolic":"method"}],"setThirdService":[{"__symbolic":"method"}],"checkAll":[{"__symbolic":"method"}],"operateFunction":[{"__symbolic":"method"}],"openFunction":[{"__symbolic":"method"}],"getSignatureList":[{"__symbolic":"method"}],"signatureMouseEnter":[{"__symbolic":"method"}],"signatureMouseLeave":[{"__symbolic":"method"}],"deleteSignature":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"isNaN":[{"__symbolic":"method"}],"parseNumber":[{"__symbolic":"method"}]}},"ToolTableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"app-tool-table","template":"<div style=\"position: relative;float: right;right: 1px;z-index: 1;\">\r\n    <button *ngIf=\"code != 0\" nz-button nzType=\"primary\" (click)=\"sendNewToolRequest()\" acl [acl-ability]=\"'oms:facility:toolManager:add'\" style=\"margin-top: 7px;margin-bottom:7px;margin-right: 17px;\">新建</button>\r\n    <button *ngIf=\"code != 0\" nz-button nzType=\"primary\" (click)=\"createToolsImportModal(tplTitle, tplContent, tplFooter)\" acl [acl-ability]=\"'oms:facility:toolManager:add'\" style=\"margin-top: 7px;margin-bottom:7px;margin-right: 17px;\">导入</button>\r\n    <button *ngIf=\"code != 0\" nz-button nzType=\"primary\" class=\"btn-batch-del\" [nzLoading]=\"loading\" (click)=\"sendBatchDeleteRequest()\" acl [acl-ability]=\"'oms:facility:toolManager:bulkDelete'\" style=\"margin-top: 7px;margin-bottom:7px;\">批量删除</button>\r\n</div>\r\n<nz-spin [nzSpinning]=\"loading\" [nzSize]=\"'default'\">\r\n    <nz-table #rowSelectionTable [nzData]=\"listOfData\" [nzLoading]=\"loading\" [nzTotal]=\"total\" (nzCurrentPageDataChange)=\"currentPageDataChange($event)\" nzTableLayout=\"fixed\">\r\n        <thead>\r\n            <tr>\r\n                <th *ngIf=\"code != 0\" nzShowCheckbox nzShowRowSelection [nzSelections]=\"listOfSelection\" [(nzChecked)]=\"isAllDisplayDataChecked\" [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\r\n                <th>工具名称</th>\r\n                <th>规格/型号</th>\r\n                <th>单位</th>\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 item of rowSelectionTable.data\">\r\n                <td *ngIf=\"code != 0\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedId[item.tno]\" (nzCheckedChange)=\"refreshStatus()\"></td>\r\n                <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"item.tname\">{{ item.tname }}</span></td>\r\n                <td>{{ item.spec }}</td>\r\n                <td>{{ item.unit }}</td>\r\n                <td>{{ item.amount }}</td>\r\n                <td>{{ item.toolUser }}</td>\r\n                <td>{{ item.statusStr }}</td>\r\n                <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"item.toolDesc\">{{ item.toolDesc }}</span></td>\r\n                <td>\r\n                    <a *ngIf=\"code != 0\" (click)=\"showModifyDetail(item)\" acl [acl-ability]=\"'oms:facility:toolManager:edit'\">修改</a>\r\n                    <nz-divider *ngIf=\"code != 0\" nzType=\"vertical\"></nz-divider>\r\n                    <a (click)=\"showModifyRecords(item)\">轨迹</a>\r\n                    <nz-divider *ngIf=\"code != 0\" nzType=\"vertical\"></nz-divider>\r\n                    <a *ngIf=\"code != 0\" (click)=\"showDeleteConfirm(item)\" class=\"btn-batch-del\" acl [acl-ability]=\"'oms:facility:toolManager:delete'\">删除</a>\r\n                </td>\r\n            </tr>\r\n        </tbody>\r\n    </nz-table>\r\n</nz-spin>\r\n<ng-template #tplTitle>\r\n    <span>导入工具</span>\r\n</ng-template>\r\n<ng-template #tplContent let-params let-ref=\"modalRef\">\r\n    <input type=\"file\" (change)=\"uploadToolsFile($event)\">\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n    <button nz-button nzType=\"primary\" (click)=\"submitToolsImport()\">提交</button>\r\n    <button nz-button nzType=\"default\" (click)=\"cancelToolsImport()\">取消</button>\r\n</ng-template>","styles":["html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#023b86;padding:1px}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#1d1d1d;padding:1px}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#e8e8e8;padding:1px}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"toolSearchState$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵbh"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":50,"character":29},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":50,"character":95}]}],"ngOnInit":[{"__symbolic":"method"}],"getToolStatus":[{"__symbolic":"method"}],"currentPageDataChange":[{"__symbolic":"method"}],"refreshStatus":[{"__symbolic":"method"}],"checkAll":[{"__symbolic":"method"}],"sendNewToolRequest":[{"__symbolic":"method"}],"sendBatchDeleteRequest":[{"__symbolic":"method"}],"showDeleteConfirm":[{"__symbolic":"method"}],"showModifyDetail":[{"__symbolic":"method"}],"showModifyRecords":[{"__symbolic":"method"}],"queryData":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createToolsImportModal":[{"__symbolic":"method"}],"cancelToolsImport":[{"__symbolic":"method"}],"submitToolsImport":[{"__symbolic":"method"}],"uploadToolsFile":[{"__symbolic":"method"}]}},"ToolSearchComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-tool-search","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n    <!-- <nz-form-item>\r\n        <nz-form-label>工具编号</nz-form-label>\r\n        <nz-form-control>\r\n            <input nz-input formControlName=\"toolId\" placeholder=\"编号...\" />\r\n        </nz-form-control>\r\n    </nz-form-item> -->\r\n    <nz-form-item>\r\n        <nz-form-label>工具名称</nz-form-label>\r\n        <nz-form-control>\r\n            <input nz-input formControlName=\"toolName\" placeholder=\"名称...\" />\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-label>工具类型</nz-form-label>\r\n        <nz-form-control>\r\n            <nz-select class=\"selectInput\" nzShowSearch nzAllowClear formControlName=\"toolType\" nzPlaceHolder=\"类型...\">\r\n                <nz-option *ngFor=\"let item of toolType\" [nzLabel]=\"item.skillName\" [nzValue]=\"item.skillId\"></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-control [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" acl [acl-ability]=\"'oms:facility:toolManager:query'\">查询</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n</form>","styles":["html.blue :host .selectInput{width:150px}html.dark :host .selectInput{width:150px}html.light :host .selectInput{width:150px}:host{display:block}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":18,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":18,"character":54},{"__symbolic":"reference","name":"ɵbf"}]}],"ngOnInit":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"getToolType":[{"__symbolic":"method"}]}},"KnowledgeDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-knowledge-detail","template":"<div>\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n        <div style=\"display: flex;\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'>*名称</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"kname\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'> *类型</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"ktNo\">\r\n                        <nz-option *ngFor=\"let item of knowledgeTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </nz-option>\r\n                    </nz-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    责任人\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"responser\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        主要知识点 :\r\n        <div style=\"display:block;\">\r\n            <nz-form-item>\r\n                <nz-form-control>\r\n                    <nz-textarea-count [nzMaxCharacterCount]=\"200\">\r\n                        <textarea rows=\"4\" formControlName=\"desc\" nz-input placeholder=\"知识点描述\"></textarea>\r\n                    </nz-textarea-count>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div *ngIf=\"!canSave\">附件(数量&lt;9)：</div>\r\n        <div *ngIf=\"canSave\">附件：</div>\r\n        <div style=\"margin-bottom: 30px;\">\r\n            <nz-form-item *ngIf=\"!canSave\">\r\n                <nz-form-control>\r\n                    <nz-upload nzType=\"drag\" [nzMultiple]=\"false\" [nzFileList]=\"uploadFileList\"\r\n                        nzAction=\"attachmentServer/business/attachment/upload\" (nzChange)=\"handleChange($event)\"\r\n                        [nzDisabled]=\"canSave\" [nzRemove]=\"removeFile\">\r\n                        <p class=\"ant-upload-drag-icon\">\r\n                            <i nz-icon nzType=\"inbox\"></i>\r\n                        </p>\r\n                        <p class=\"ant-upload-text\">点击或拖拽上传</p>\r\n                    </nz-upload>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            <nz-form-item *ngIf=\"canSave\">\r\n                <nz-form-control>\r\n                    <nz-upload nzAction=\"attachmentServer/business/attachment/upload\" [nzFileList]=\"uploadFileList\"\r\n                        (nzChange)=\"handleChange($event)\" [nzShowButton]='false' [nzRemove]=\"removeFile\">\r\n                        <button nz-button><i nz-icon nzType=\"upload\"></i>Upload</button>\r\n                    </nz-upload>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <!-- <div  *ngFor=\"let data of uploadFileList ;let i = index\" >\r\n            <a></a>\r\n        </div> -->\r\n\r\n        <div style=\"display: flex;float: right;margin-top: -20px;\">\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"null\" [nzLoading]=\"uploading\" [disabled]=\"canSave\"\r\n                        (click)=\"saveKnowledgeData()\">保存</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button (click)=\"cancleKnowledgeData()\" [nzLoading]=\"uploading\">取消</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </form>\r\n</div>","styles":[":host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{float:right!important}.editable-cell{position:relative;padding:1px;cursor:pointer}.editable-row:hover .editable-cell{border:1px solid #d9d9d9;border-radius:4px;padding:1px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}"]}]}],"members":{"knowledgeTypes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"kno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"info":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"canSave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"jobInfo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":26,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":27,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":28,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":29,"character":20},{"__symbolic":"reference","name":"ɵu"}]}],"ngOnInit":[{"__symbolic":"method"}],"queryAttachment":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"cancleKnowledgeData":[{"__symbolic":"method"}],"saveKnowledgeData":[{"__symbolic":"method"}],"saveKnowledgeDataInfo":[{"__symbolic":"method"}]}},"KnowledgeManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"app-knowledge-manager","template":"<div class=\"div-bgcolor\">\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n        <div class=\"searchBar\">\r\n            <!-- (ngSubmit)=\"submitForm()\" -->\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">知识名称</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <!-- <nz-input-group [nzSuffix]=\"inputClearTpl\"> -->\r\n                    <input nz-input formControlName=\"knowledgeName\" />\r\n                    <!-- </nz-input-group> -->\r\n                    <!-- <ng-template #inputClearTpl>\r\n                        <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\" *ngIf=\"knowledgeName\"\r\n                            (click)=\"knowledgeName = null\"></i>\r\n                    </ng-template> -->\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\"> 知识类型</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"全部\" formControlName=\"typeId\">\r\n                        <nz-option *ngFor=\"let item of knowledgeTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </nz-option>\r\n                    </nz-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"submitForm()\" acl\r\n                        [acl-ability]=\"'oms:knowledge:query'\">查询</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"default\" (click)=\"resetForm()\" style=\"margin-left: 2px;\">重置</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </form>\r\n\r\n    <div class=\"mainTable\">\r\n        <div class=\"toolButtons\">\r\n            <button *ngIf=\"code != 0\" nz-button nzType=\"primary\" (click)=\"createKnowledge()\" acl\r\n                [acl-ability]=\"'oms:knowledge:add'\">创建知识</button>\r\n            <button nz-button nzType=\"primary\" (click)=\"export()\">导出</button>\r\n        </div>\r\n        <nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\"\r\n            [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\"\r\n            [nzLoading]=\"loading\" nzFrontPagination=\"false\" nzTableLayout=\"fixed\">\r\n            <thead>\r\n                <tr>\r\n                    <th nzWidth=\"60px\" *ngIf=\"code != 0\">序号</th>\r\n                    <th nzWidth=\"90px\">知识编号</th>\r\n                    <th nzWidth=\"200px\">知识名称</th>\r\n                    <th nzWidth=\"100px\">知识类型</th>\r\n                    <th nzWidth=\"80px\">责任人</th>\r\n                    <th nzWidth=\"160px\">更新时间</th>\r\n                    <th *ngIf=\"code != 0\">描述</th>\r\n                    <th nzWidth=\"160px\">操作</th>\r\n                </tr>\r\n            </thead>\r\n            <tbody>\r\n                <tr *ngFor=\"let data of stockTable.data ;let i = index\">\r\n                    <td *ngIf=\"code != 0\">{{ startRow+i }}</td>\r\n                    <td>{{ data.kno }}</td>\r\n                    <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                            [nzTooltipTitle]=\"data.kname\">{{ data.kname }}</span></td>\r\n                    <td>{{ data.ktName }}</td>\r\n                    <td>{{ data.responser }}</td>\r\n                    <td>{{ data.updateTime }}</td>\r\n                    <td *ngIf=\"code != 0\" nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\"\r\n                            nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.desc\">{{ data.desc }}</span></td>\r\n                    <td>\r\n                        <a (click)=\"showDetail(0,data)\">查看</a>\r\n                        <nz-divider *ngIf=\"code != 0\" nzType=\"vertical\"></nz-divider>\r\n                        <a *ngIf=\"code != 0\" (click)=\"showDetail(1,data)\" acl\r\n                            [acl-ability]=\"'oms:knowledge:edit'\">修改</a>\r\n                        <nz-divider *ngIf=\"code != 0\" nzType=\"vertical\"></nz-divider>\r\n                        <a *ngIf=\"code != 0\" (click)=\"deleteData(data.kno)\" class=\"btn-batch-del\" acl\r\n                            [acl-ability]=\"'oms:knowledge:delete'\">删除</a>\r\n                    </td>\r\n                </tr>\r\n            </tbody>\r\n        </nz-table>\r\n    </div>\r\n</div>","styles":["html.blue :host{padding:24px;background:linear-gradient(to bottom right,#010b43,#01106c)}html.blue :host .div-bgcolor{background:linear-gradient(to bottom right,#00127a,#000b40)}html.blue :host .div-bgcolor .searchBar{display:flex;padding:12px 24px;background-color:transparent}html.blue :host .div-bgcolor .mainTable{padding:0 24px 24px;margin-top:16px;background-color:transparent}html.blue :host .div-bgcolor .mainTable .toolButtons{padding:16px 0;float:right}html.blue :host .div-bgcolor .mainTable .toolButtons button{margin-left:16px}html.blue :host nz-select{width:150px}html.blue :host nz-tree-select{width:240px}html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.blue :host ::ng-deep .ant-table{background-color:transparent}html.dark :host{padding:24px}html.dark :host,html.dark :host .div-bgcolor{background:#2a2c2c}html.dark :host .div-bgcolor .searchBar{display:flex;padding:12px 24px;background-color:#242525}html.dark :host .div-bgcolor .mainTable{padding:0 24px 24px;margin-top:16px;background-color:#242525}html.dark :host .div-bgcolor .mainTable .toolButtons{padding:16px 0;float:right}html.dark :host .div-bgcolor .mainTable .toolButtons button{margin-left:16px}html.dark :host nz-select{width:150px}html.dark :host nz-tree-select{width:240px}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.dark :host ::ng-deep .ant-table{background-color:transparent}html.light :host{padding:24px}html.light :host,html.light :host .div-bgcolor{background:#f0f2f5}html.light :host .div-bgcolor .searchBar{display:flex;padding:12px 24px;background-color:#fff}html.light :host .div-bgcolor .mainTable{padding:0 24px 24px;margin-top:16px;background-color:#fff}html.light :host .div-bgcolor .mainTable .toolButtons{padding:16px 0;float:right}html.light :host .div-bgcolor .mainTable .toolButtons button{margin-left:16px}html.light :host nz-select{width:150px}html.light :host nz-tree-select{width:240px}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}html.light :host ::ng-deep .ant-table{background-color:transparent}:host{min-height:100%;display:block}.pull-right{float:right!important}.ant-form-item{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":35,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":36,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":37,"character":20},{"__symbolic":"reference","name":"ɵu"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeData":[{"__symbolic":"method"}],"queryKnowledgeData":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"createKnowledge":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"formatDate":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"showDetail":[{"__symbolic":"method"}],"export":[{"__symbolic":"method"}]}},"FacilityDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-facility-detail","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>\r\n                <font class=\"text-necessary\">*物资编号</font>\r\n            </nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityId\" placeholder=\"编号...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>\r\n                <font class=\"text-necessary\">*物资名称</font>\r\n            </nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityName\" placeholder=\"名称...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>\r\n                <font class=\"text-necessary\">*物资类型</font>\r\n            </nz-form-label>\r\n            <nz-form-control>\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"facilityType\" nzPlaceHolder=\"类型...\" (ngModelChange)=\"typeChange($event)\">\r\n                    <nz-option *ngFor=\"let item of facilityTypes\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n                <!-- <input class=\"propertyInput\" nz-input formControlName=\"facilityType\" placeholder=\"类型...\" /> -->\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>\r\n                <font class=\"text-necessary\">*物资子类型</font>\r\n            </nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input class=\"propertyInput\" nz-input formControlName=\"facilitySubtype\" placeholder=\"子类型...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"facilitySubtype\" nzPlaceHolder=\"子类型...\">\r\n                    <nz-option *ngFor=\"let item of facilitySubtypes\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>物资型号</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityModel\" placeholder=\"型号...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>条形码</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"barCode\" placeholder=\"条形码...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>使用位置</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input class=\"propertyInput\" nz-input formControlName=\"userLocation\" placeholder=\"使用位置...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear nzPlaceHolder=\"使用位置...\" formControlName=\"userLocation\">\r\n                    <nz-option *ngFor=\"let item of facilityLocation\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>存放位置</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input class=\"propertyInput\" nz-input formControlName=\"storeLocation\" placeholder=\"存放位置...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear nzPlaceHolder=\"存放位置...\" formControlName=\"storeLocation\">\r\n                    <nz-option *ngFor=\"let item of facilityLocation\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <!-- <nz-form-item nz-col nzSpan=\"8\">\r\n            <nz-form-label>物资规格</nz-form-label>\r\n            <nz-form-control>\r\n                <input nz-input formControlName=\"facilitySpecification\" placeholder=\"规格...\" />\r\n            </nz-form-control>\r\n        </nz-form-item> -->\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>物资等级</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input nz-input formControlName=\"assetLevel\" placeholder=\"物资等级...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"assetLevel\" nzPlaceHolder=\"物资等级...\">\r\n                    <nz-option *ngFor=\"let item of facilityLevels\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>运行状态</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input nz-input formControlName=\"facilityStatus\" placeholder=\"状态...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"facilityStatus\" nzPlaceHolder=\"运行状态...\">\r\n                    <nz-option *ngFor=\"let item of facilityRunningStatuses\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>到货时间</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-date-picker class=\"propertyInput\" formControlName=\"arrivedDate\"></nz-date-picker>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>验收时间</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-date-picker class=\"propertyInput\" formControlName=\"boughtTime\"></nz-date-picker>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>产地</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityMade\" placeholder=\"产地...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>供应商</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"purchaseFactory\" placeholder=\"供应商...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>购买金额</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-input-group class=\"propertyInput\" nzSuffix=\"元\">\r\n                    <input nz-input formControlName=\"purchaseAmount\" placeholder=\"购买金额...\" />\r\n                </nz-input-group>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>功率（kW）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"power\" placeholder=\"功率...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>保养周期（月数）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"repairPeriod\" placeholder=\"保养周期...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>维保时长（月数）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"repairLimited\" placeholder=\"维保时长...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>使用寿命（月数）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"usefulLife\" placeholder=\"使用寿命...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>生命周期</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input nz-input formControlName=\"lifeCycle\" placeholder=\"生命周期...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"lifeCycle\" nzPlaceHolder=\"生命周期...\">\r\n                    <nz-option *ngFor=\"let item of facilityLifeCycles\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>使用公司</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input class=\"propertyInput\" nz-input formControlName=\"facilityCompany\" placeholder=\"使用公司...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"facilityCompany\" nzPlaceHolder=\"使用公司...\">\r\n                    <nz-option *ngFor=\"let item of facilityCompanies\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>使用部门</nz-form-label>\r\n            <nz-form-control>\r\n                <!-- <input nz-input formControlName=\"userDepartment\" placeholder=\"部门...\" /> -->\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"userDepartment\" nzPlaceHolder=\"部门...\">\r\n                    <nz-option *ngFor=\"let item of facilityDepartments\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>使用人</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityUser\" placeholder=\"使用人...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>电压类型（V）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"voltageType\" placeholder=\"电压类型...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>警报显示</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"facilityAlarmShow\" nzPlaceHolder=\"警报显示...\">\r\n                    <nz-option *ngFor=\"let item of alarmShow\" [nzLabel]=\"item.label\" [nzValue]=\"item.value\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>状态显示</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"facilityStateShow\" nzPlaceHolder=\"状态显示...\">\r\n                    <nz-option *ngFor=\"let item of stateShow\" [nzLabel]=\"item.label\" [nzValue]=\"item.value\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>责任人</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityLiablePerson\" placeholder=\"责任人...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>物资点位</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityEquipmentPoint\" placeholder=\"物资点位...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n            <nz-form-label>SN码</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilitySN\" placeholder=\"SN码...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item style=\"margin-left: 17px;\" *ngIf=\"code === 0\" nz-col nzSpan=\"5\">\r\n            <nz-form-label>完好状态</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilityIntact\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r\n        <nz-form-item nz-col nzSpan=\"5\">\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n            <nz-form-label>规格</nz-form-label>\r\n            <nz-form-control>\r\n                <textarea class=\"textAreaInput\" rows=\"2\" nz-input formControlName=\"facilitySpecs\" placeholder=\"规格...\"></textarea>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <!-- <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"7\">\r\n            <nz-form-label>产品序列号</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"facilitySN\" placeholder=\"序列号...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div> -->\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n            <nz-form-label>备注</nz-form-label>\r\n            <nz-form-control>\r\n                <textarea class=\"textAreaInput\" rows=\"2\" nz-input formControlName=\"facilityDescription\" placeholder=\"描述...\"></textarea>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <!-- <div nz-row style=\"margin-top: 10px;\">\r\n        <div nz-col nzSpan=\"15\" nzOffset=\"9\">\r\n            <button nz-button nzType=\"primary\" style=\"margin-right: 17px;\" (click)=\"submitForm()\">保存</button>\r\n            <button nz-button nzType=\"primary\" style=\"margin-right: 17px;\" (click)=\"confirmModal()\">确定</button>\r\n            <button nz-button nzType=\"default\" (click)=\"cancelModal()\">取消</button>\r\n        </div>\r\n    </div> -->\r\n    <div class=\"box-col-width\">\r\n        <nz-form-item nz-col nzSpan=\"2\" nzOffset=\"10\" class=\"col-item-style\">\r\n            <nz-form-control *ngIf=\"code!=0\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"saveModal()\">保存</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item *ngIf=\"code == 0\" class=\"col-item-style\">\r\n            <nz-form-control [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"confirmModal()\">确定</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item class=\"col-item-style\">\r\n            <nz-form-control [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"default\" (click)=\"cancelModal()\">取消</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form>","styles":["html.blue :host .text-necessary{color:#fff}html.blue :host .propertyInput{width:175px}html.blue :host .textAreaInput{width:800px}html.blue :host .box-col-width{width:100%;margin-top:10px}html.blue :host .col-item-style{float:right}html.dark :host .text-necessary{color:#fff}html.dark :host .propertyInput{width:175px}html.dark :host .textAreaInput{width:800px}html.dark :host .box-col-width{width:100%;margin-top:10px}html.dark :host .col-item-style{float:right}html.light :host .text-necessary{color:red}html.light :host .propertyInput{width:175px}html.light :host .textAreaInput{width:800px}html.light :host .box-col-width{width:100%;margin-top:10px}html.light :host .col-item-style{float:right}"]}]}],"members":{"currentFacility":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":31,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":32,"character":20},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":34,"character":19},{"__symbolic":"reference","name":"ɵw"}]}],"ngOnInit":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"confirmModal":[{"__symbolic":"method"}],"saveModal":[{"__symbolic":"method"}],"cancelModal":[{"__symbolic":"method"}],"typeChange":[{"__symbolic":"method"}],"getEquipmentMaintainData":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"transFormMaintainData":[{"__symbolic":"method"}],"formatIsRepairing":[{"__symbolic":"method"}],"checkPurchaseAmount":[{"__symbolic":"method"}]}},"FacilityGroupInfoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-facility-group-info","template":"\r\n<div>\r\n  <form nz-form [formGroup]=\"validateForm\">\r\n      <nz-form-item>\r\n          <nz-form-label [nzSpan]=\"8\" nzRequired>巡检组名称</nz-form-label>\r\n          <nz-form-control [nzSpan]=\"16\">\r\n              <input nz-input formControlName=\"groupName\" />\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n          <nz-form-label [nzSpan]=\"8\" nzRequired>巡检组类型</nz-form-label>\r\n          <nz-form-control [nzSpan]=\"16\">\r\n              <nz-select formControlName=\"groupType\" style=\"width:100%\">\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]=\"8\">巡检模板</nz-form-label>\r\n          <nz-form-control [nzSpan]=\"16\">\r\n              <nz-select formControlName=\"ptno\" style=\"width:100%\">\r\n                <nz-option *ngFor=\"let item of templates\" [nzLabel]=\"item.text\" [nzValue]=\"item.value\"></nz-option>\r\n              </nz-select>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n        <div nz-row>\r\n          <div nz-col [nzSpan]=\"24\" class=\"search-area\">\r\n             <button nz-button nzType=\"primary\" (click)=\"null\" [nzLoading]=\"uploading\"\r\n                      (click)=\"saveEpData()\" [disabled]=\"validateForm.invalid\" style=\"margin-right: 12px;\">保存</button>\r\n             <button nz-button (click)=\"cancelData()\" [nzLoading]=\"uploading\">取消</button>\r\n          </div>\r\n        </div>\r\n  </form>\r\n</div>\r\n","styles":[":host{display:block;margin-bottom:10px}.search-area{text-align:right}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":21,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":22,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":23,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":24,"character":20},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","name":"ɵa"}]}],"ngOnInit":[{"__symbolic":"method"}],"saveEpData":[{"__symbolic":"method"}],"cancelData":[{"__symbolic":"method"}],"initTemplates":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"FacilityGroupEquipmentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"app-facility-group-equipment","template":"<div style=\"width: 100%;height:100%;padding-left: 30px;padding-right: 30px;\">\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n            <div nz-row>\r\n                <div nz-col [nzSpan]=\"groupType== '0'?5:5\">\r\n                    <nz-form-item>\r\n                        <nz-form-label [nzSpan]=\"null\">编号</nz-form-label>\r\n                        <nz-form-control [nzSpan]=\"null\">\r\n                            <nz-input-group>\r\n                                <input *ngIf=\"data.groupType === '0'\" nz-input formControlName=\"equipmentId\" />\r\n                                <input *ngIf=\"data.groupType === '1'\"nz-input formControlName=\"areaNo\" />\r\n                            </nz-input-group>\r\n                        </nz-form-control>\r\n                    </nz-form-item>\r\n                </div>\r\n                <div nz-col [nzSpan]=\"groupType== '0'?5:5\" style=\"padding-left: 16px;\">\r\n                    <nz-form-item>\r\n                        <nz-form-label [nzSpan]=\"null\">名称</nz-form-label>\r\n                        <nz-form-control [nzSpan]=\"null\">\r\n                            <nz-input-group>\r\n                                <input *ngIf=\"data.groupType === '0'\" nz-input formControlName=\"equipmentName\" />\r\n                                <input *ngIf=\"data.groupType === '1'\"nz-input formControlName=\"areaName\" />\r\n                            </nz-input-group>\r\n                        </nz-form-control>\r\n                    </nz-form-item>\r\n                </div>\r\n                <div nz-col [nzSpan]=\"5\" style=\"padding-left: 16px;\" *ngIf=\"groupType== '0'\">\r\n                    <nz-form-item>\r\n                        <nz-form-label [nzSpan]=\"null\">类型</nz-form-label>\r\n                        <nz-form-control [nzSpan]=\"null\">\r\n                            <nz-select class=\"selectInput\" nzShowSearch nzAllowClear nzPlaceHolder=\"类型...\" (ngModelChange)=\"typeChange($event)\" formControlName=\"typeId\">\r\n                                <nz-option *ngFor=\"let item of facilityTypes\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></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]=\"5\" style=\"padding-left: 16px;\" *ngIf=\"groupType== '0'\">\r\n                    <nz-form-item>\r\n                        <nz-form-label [nzSpan]=\"null\">子类型</nz-form-label>\r\n                        <nz-form-control [nzSpan]=\"null\">\r\n                            <nz-select class=\"selectInput\" nzShowSearch nzAllowClear nzPlaceHolder=\"子类型...\" formControlName=\"subtypeId\">\r\n                                <nz-option *ngFor=\"let item of facilitySubtypes\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\"></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]=\"2\" style=\"padding-left: 16px;\">\r\n                    <nz-form-item>\r\n                        <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n                    </nz-form-item>\r\n                </div>\r\n                <div nz-col [nzSpan]=\"2\" style=\"padding-left: 16px;\">\r\n                    <nz-form-item>\r\n                        <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n                    </nz-form-item>\r\n                </div>\r\n            </div>\r\n            <!-- <div nz-row [nzGutter]=\"24\"> -->\r\n                <!-- <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n                <button nz-button (click)=\"resetForm()\">重置</button> -->\r\n                <!-- <div nz-col [nzSpan]=\"2\">\r\n                    <nz-form-item>\r\n                        <nz-form-control [nzSpan]=\"null\">\r\n                            <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n                        </nz-form-control>\r\n                    </nz-form-item>\r\n                </div>\r\n                <div nz-col [nzSpan]=\"2\">\r\n                    <nz-form-item>\r\n                        <nz-form-control [nzSpan]=\"null\">\r\n                            <button nz-button (click)=\"resetForm()\">重置</button>\r\n                        </nz-form-control>\r\n                    </nz-form-item>\r\n                </div> -->\r\n            <!-- </div> -->\r\n    </form>\r\n    <div nz-row nzGutter=\"24\">\r\n        <div nz-col nzSpan=\"11\" style=\"margin-top: 10px;\" class=\"staff-seleted\">\r\n            <nz-table #leftTable nzShowPagination [nzData]=\"listOfDataLeft\" [nzTotal]=\"totalLeft\" [(nzPageSize)]=\"pageSizeLeft\" \r\n            nzTableLayout=\"fixed\" [(nzPageIndex)]=\"pageIndexLeft\" nzFrontPagination=\"true\" nzSimple style=\"border: 1px solid #F0F0F0FF;height: 503px;\"\r\n            [nzLoading]=\"loadingLeft\" (nzPageIndexChange)=\"onPageIndexChangeLeft($event)\" (nzCurrentPageDataChange)=\"currentPageDataChangeLeft($event)\">\r\n                <thead>\r\n                    <tr>\r\n                        <th style=\"width: 30px;\" nzShowCheckbox nzShowRowSelection [nzSelections]=\"listOfSelectionLeft\"\r\n                            [(nzChecked)]=\"isAllDisplayDataCheckedLeft\" [nzIndeterminate]=\"isIndeterminateLeft\"\r\n                            (nzCheckedChange)=\"checkAllLeft($event)\" class=\"ant-table-customer-height\"></th>\r\n                        <th class=\"ant-table-customer-height\">名称</th>\r\n                        <th class=\"ant-table-customer-height\">编号</th>\r\n                        <th class=\"ant-table-customer-height\">位置</th>\r\n                    </tr>\r\n                </thead>\r\n                <tbody>\r\n                    <tr *ngFor=\"let data of leftTable.data\">\r\n                        <td  *ngIf=\"groupType== '0'\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedIdLeft[data.epNo]\"\r\n                            (nzCheckedChange)=\"refreshStatusLeft()\" style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"></td>\r\n                        <td  *ngIf=\"groupType== '1'\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedIdLeft[data.areaNo]\"\r\n                        (nzCheckedChange)=\"refreshStatusLeft()\" style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"groupType== '0'?data.epName:data.areaName\">{{ groupType== '0'?data.epName:data.areaName }}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"groupType== '0'?data.epNo:data.areaNo\">{{ groupType== '0'?data.epNo:data.areaNo }}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"data.storeLocation\">{{ groupType== '0'?data.storeLocation:data.locationName }}</span></td>\r\n                    </tr>\r\n                </tbody>\r\n            </nz-table>\r\n        </div>\r\n\r\n        <div nz-col nzSpan=\"3\" style=\"margin-top: 100px;\">\r\n            <button nz-button nzType=\"default\" (click)=\"addRowsToLeft()\" style=\"margin-left:7px;\">&lt;添加</button>\r\n            <button nz-button nzType=\"default\" class=\"btn-batch-del\" style=\"margin-top: 20px;margin-left:7px;\" (click)=\"deleteRowsFromLeft()\">删除&gt;</button>\r\n        </div>\r\n\r\n        <div nz-col nzSpan=\"10\" style=\"margin-top: 10px;\">\r\n            <nz-table #rightTable nzShowPagination [nzData]=\"listOfDataRight\" [nzTotal]=\"totalRight\" [(nzPageSize)]=\"pageSizeRight\" \r\n            [(nzPageIndex)]=\"pageIndexRight\" nzFrontPagination=\"false\" nzSimple nzTableLayout=\"fixed\" style=\"border: 1px solid #F0F0F0FF;height: 503px;\" \r\n            [nzLoading]=\"loadingRight\" (nzPageIndexChange)=\"onPageIndexChangeRight($event)\" (nzCurrentPageDataChange)=\"currentPageDataChangeRight($event)\">\r\n                <thead>\r\n                    <tr>\r\n                        <th style=\"width: 30px;\" nzShowCheckbox nzShowRowSelection [nzSelections]=\"listOfSelectionRight\"\r\n                            [(nzChecked)]=\"isAllDisplayDataCheckedRight\" [nzIndeterminate]=\"isIndeterminateRight\"\r\n                            (nzCheckedChange)=\"checkAllRight($event)\" class=\"ant-table-customer-height\"></th>\r\n                        <th class=\"ant-table-customer-height\">名称</th>\r\n                        <th class=\"ant-table-customer-height\">编号</th>\r\n                        <th class=\"ant-table-customer-height\">位置</th>\r\n                    </tr>\r\n                </thead>\r\n                <tbody>\r\n                    <tr *ngFor=\"let data of rightTable.data\">\r\n                        <td  *ngIf=\"groupType== '0'\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedIdRight[data.epNo]\"\r\n                            (nzCheckedChange)=\"refreshStatusRight()\" style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"></td>\r\n                        <td  *ngIf=\"groupType== '1'\" nzShowCheckbox [(nzChecked)]=\"mapOfCheckedIdRight[data.areaNo]\"\r\n                        (nzCheckedChange)=\"refreshStatusRight()\" style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"groupType== '0'?data.epName:data.areaName\">{{ groupType== '0'?data.epName:data.areaName }}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"groupType== '0'?data.epNo:data.areaNo\">{{ groupType== '0'?data.epNo:data.areaNo }}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor = \"#262626FF\" [nzTooltipTitle]=\"data.storeLocation\">{{ groupType== '0'?data.storeLocation:data.locationName }}</span></td>\r\n                    </tr>\r\n                </tbody>\r\n            </nz-table>\r\n        </div>\r\n    </div>\r\n    <div nz-row nzJustify=\"end\">\r\n        <button nz-button nzType=\"default\" (click)=\"cancelUpdate()\" style=\"width:90px;margin-top: 17px;margin-right: 17px;\">取消</button>\r\n        <button nz-button nzType=\"primary\" (click)=\"submitUpdate()\"style=\"width:90px;margin-top: 17px;\">保存</button>\r\n    </div>\r\n</div>\r\n","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}nz-tree-select.deptlist,nz-tree-select.jobtypelist{width:160px}.ant-table-customer-height{height:40px}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:16px}:host ::ng-deep .ant-table-tbody>tr>td{border-bottom:0 solid #e8e8e8}:host ::ng-deep .ant-form-item{margin:0}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"data":[{"__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/forms","name":"FormBuilder","line":77,"character":16},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":81,"character":20},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":82,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":83,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"cancelUpdate":[{"__symbolic":"method"}],"submitUpdate":[{"__symbolic":"method"}],"deleteRowsFromLeft":[{"__symbolic":"method"}],"addRowsToLeft":[{"__symbolic":"method"}],"checkAllRight":[{"__symbolic":"method"}],"checkAllLeft":[{"__symbolic":"method"}],"onPageIndexChangeRight":[{"__symbolic":"method"}],"currentPageDataChangeRight":[{"__symbolic":"method"}],"refreshStatusRight":[{"__symbolic":"method"}],"onPageIndexChangeLeft":[{"__symbolic":"method"}],"currentPageDataChangeLeft":[{"__symbolic":"method"}],"refreshStatusLeft":[{"__symbolic":"method"}],"queryEpListDataRight":[{"__symbolic":"method"}],"queryEpListDataLeft":[{"__symbolic":"method"}],"getEquipmentMaintainData":[{"__symbolic":"method"}],"typeChange":[{"__symbolic":"method"}]}},"SparepartsManagementComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"app-spareparts-management","template":"<div>\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n        <div style=\"display: flex;width: 100%;\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">备件名称</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"spareName\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\"> 备件类型</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"全部\" formControlName=\"typeId\" style=\"width: 183px;\">\r\n                        <nz-option *ngFor=\"let item of spareTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </nz-option>\r\n                    </nz-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"submitForm()\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:query'\" style=\"margin-left: 5px;\">查询</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"default\" (click)=\"resetForm()\" style=\"margin-left: 5px;\">重置</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <div class=\"pull-right\">\r\n                <nz-form-item>\r\n                    <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                        <button nzType=\"primary\" nz-button (click)=\"exportForm()\" style=\"margin-left: 5px;\">导出表格</button>\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<nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" [nzLoading]=\"loading\" nzFrontPagination=\"false\"\r\n    nzTableLayout=\"fixed\" style=\"margin-top: 12px;\">\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            <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 stockTable.data ;let i = index\">\r\n            <td>{{ startRow+i }}</td>\r\n            <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.spName\">{{ data.spName }}</span></td>\r\n            <td>{{ data.tnName }}</td>\r\n            <td>{{ data.amount }}</td>\r\n            <td>{{ data.safetyStock }}</td>\r\n            <td>{{ data.unit }}</td>\r\n            <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.spec\">{{ data.spec }}</span></td>\r\n            <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.purpose\">{{ data.purpose }}</span></td>\r\n            <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.description\">{{ data.description }}</span></td>\r\n            <td><a (click)=\"deleteData(data.stNo)\" class=\"btn-batch-del\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:delete'\">删除</a>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-tree-select{width:240px}.pull-right{position:absolute;right:49px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":27,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":28,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":29,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":30,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":31,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"queryStockData":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"exportForm":[{"__symbolic":"method"}],"entrySpareParts":[{"__symbolic":"method"}],"getSparParts":[{"__symbolic":"method"}],"outSpareParts":[{"__symbolic":"method"}]}},"EntrySpareComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"app-entry-spare","template":"<div>\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n        <!-- (ngSubmit)=\"submitForm()\" -->\r\n        <div style=\"display: flex;\" nz-row>\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">入库单号</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-input-group [nzSuffix]=\"inputClearTpl\">\r\n                        <input nz-input formControlName=\"spareName\" />\r\n                    </nz-input-group>\r\n                    <ng-template #inputClearTpl>\r\n                        <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\" *ngIf=\"validateForm.value.spareName\" (click)=\"validateForm.setValue({'spareName':null,'typeId':validateForm.value.typeId,'date':validateForm.value.date})\"></i>\r\n                    </ng-template>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\"> 入库类型</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"全部\" formControlName=\"typeId\" style=\"width: 183px;\">\r\n                        <nz-option *ngFor=\"let item of entryTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </nz-option>\r\n                    </nz-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\"> 入库时间</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-range-picker [nzRanges]=\"ranges\" nzValue=\"date\" formControlName=\"date\" (ngModelChange)=\"onChange($event)\">\r\n                    </nz-range-picker>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <a (click)=\"openOtherCondition()\" *ngIf=\"isShowLeft\" style=\"width: 40px;\" nz-button nzType=\"text\"><i nz-icon nzType=\"left\"></i></a>\r\n                    <a (click)=\"closeOtherCondition()\" *ngIf=\"isShowDown\" style=\"width: 40px;\" nz-button nzType=\"text\"><i nz-icon nzType=\"down\"></i></a>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"submitForm()\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:query'\" style=\"margin-left: 5px;\">查询</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"default\" (click)=\"resetForm()\" style=\"margin-left: 5px;\">重置</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <div class=\"pull-right\">\r\n                <nz-form-item>\r\n                    <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                        <button nz-button nzType=\"primary\" (click)=\"createEntry()\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:import'\" style=\"margin-left: 5px;\">创建入库</button>\r\n                    </nz-form-control>\r\n                </nz-form-item>\r\n            </div>\r\n        </div>\r\n        <div nz-row *ngIf=\"isShowDown\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">合同编号</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input style=\"width: 187px;\" formControlName=\"cno\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </form>\r\n</div>\r\n\r\n<nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" [nzLoading]=\"loading\" nzFrontPagination=\"false\"\r\n    style=\"margin-top:12px;\">\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            <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 stockTable.data ;let i = index\">\r\n            <td>{{ startRow+i }}</td>\r\n            <td>{{ data.weNo }}</td>\r\n            <td>{{ data.wetName }}</td>\r\n            <td>{{ data.deliver }}</td>\r\n            <td>{{ data.receiver }}</td>\r\n            <td>{{ data.createTime }}</td>\r\n            <td>{{ data.cno }}</td>\r\n            <td><a (click)=\"DetailData(data.weNo,data.wetNo,data.deliver,data.cid)\">详情</a>\r\n                <!-- <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a (click)=\"deleteData(data.weNo)\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:import'\">删除</a> -->\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{position:absolute;right:49px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"cno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":35,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":36,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":37,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":38,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeData":[{"__symbolic":"method"}],"queryStockData":[{"__symbolic":"method"}],"formatDate":[{"__symbolic":"method"}],"openOtherCondition":[{"__symbolic":"method"}],"closeOtherCondition":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"DetailData":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"createEntry":[{"__symbolic":"method"}],"stockData":[{"__symbolic":"method"}],"getSparParts":[{"__symbolic":"method"}],"outSpareParts":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}]}},"OutSpareComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"app-out-spare","template":"<div>\r\n    <div>\r\n        <form nz-form [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n            <div style=\"display: flex;\">\r\n                <!-- (ngSubmit)=\"submitForm()\" -->\r\n                <nz-form-item>\r\n                    <nz-form-label [nzSpan]=\"null\">出库单号</nz-form-label>\r\n                    <nz-form-control [nzSpan]=\"null\">\r\n                        <nz-input-group [nzSuffix]=\"inputClearTpl\">\r\n                            <input nz-input formControlName=\"spareName\" />\r\n                        </nz-input-group>\r\n                        <ng-template #inputClearTpl>\r\n                            <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\" *ngIf=\"validateForm.value.spareName\" (click)=\"validateForm.setValue({'spareName':null,'typeId':validateForm.value.typeId,'date':validateForm.value.date})\"></i>\r\n                        </ng-template>\r\n                    </nz-form-control>\r\n                </nz-form-item>\r\n                &nbsp;&nbsp; &nbsp;\r\n                <nz-form-item>\r\n                    <nz-form-label [nzSpan]=\"null\"> 出库类型</nz-form-label>\r\n                    <nz-form-control [nzSpan]=\"null\">\r\n                        <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"全部\" formControlName=\"typeId\" style=\"width: 183px;\">\r\n                            <nz-option *ngFor=\"let item of outTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                            </nz-option>\r\n                        </nz-select>\r\n                    </nz-form-control>\r\n                </nz-form-item>\r\n                &nbsp;&nbsp; &nbsp;\r\n                <nz-form-item>\r\n                    <nz-form-label [nzSpan]=\"null\"> 出库时间</nz-form-label>\r\n                    <nz-form-control [nzSpan]=\"null\">\r\n                        <!-- <nz-range-picker formControlName=\"date\" (ngModelChange)=\"onChange($event)\"></nz-range-picker> -->\r\n                        <nz-range-picker [nzRanges]=\"ranges\" nzValue=\"date\" formControlName=\"date\" (ngModelChange)=\"onChange($event)\">\r\n                        </nz-range-picker>\r\n                    </nz-form-control>\r\n                </nz-form-item>\r\n                &nbsp;&nbsp; &nbsp;\r\n                <nz-form-item>\r\n                    <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                        <button nz-button nzType=\"primary\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:query'\">查询</button>\r\n                        <!-- (click)=\"submitForm()\" -->\r\n                    </nz-form-control>\r\n                </nz-form-item>\r\n                &nbsp;&nbsp; &nbsp;\r\n                <nz-form-item>\r\n                    <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                        <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n                    </nz-form-control>\r\n                </nz-form-item>\r\n                &nbsp;&nbsp; &nbsp;\r\n                <div class=\"pull-right\">\r\n                    <nz-form-item>\r\n                        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                            <button nz-button (click)=\"createEntry()\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:export'\" nzType=\"primary\">创建出库</button>\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    <nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" [nzLoading]=\"loading\" nzFrontPagination=\"false\"\r\n        nzTableLayout=\"fixed\" style=\"margin-top:12px;\">\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                <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 stockTable.data ;let i = index\">\r\n                <td>{{ startRow+i }}</td>\r\n                <td>{{ data.woNo }}</td>\r\n                <td>{{ data.rlNo }}</td>\r\n                <td>{{ data.wotName }}</td>\r\n                <td>{{ data.receiver }}</td>\r\n                <td>{{ data.deliver }}</td>\r\n                <td>{{ data.createTime }}</td>\r\n                <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.description\">{{ data.description }}</span></td>\r\n                <td><a (click)=\"DetailData(data.woNo,data.wotNo,data.receiver,data.description,data.rlNo)\">详情</a>\r\n                    <!-- <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a (click)=\"deleteData(data.woNo)\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:export'\">删除</a> -->\r\n                </td>\r\n            </tr>\r\n        </tbody>\r\n    </nz-table>\r\n</div>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{position:absolute;right:49px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":30,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":31,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":32,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeData":[{"__symbolic":"method"}],"queryStockData":[{"__symbolic":"method"}],"formatDate":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"DetailData":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"createEntry":[{"__symbolic":"method"}],"stockData":[{"__symbolic":"method"}],"getSparParts":[{"__symbolic":"method"}],"entrySpareParts":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}]}},"TakeSpareComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"app-take-spare","template":"<div>\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n        <div style=\"display: flex;\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">领料单号</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-input-group [nzSuffix]=\"inputClearTpl\">\r\n                        <input nz-input formControlName=\"takeSpareNo\" />\r\n                    </nz-input-group>\r\n                    <ng-template #inputClearTpl>\r\n                        <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\" *ngIf=\"validateForm.value.takeSpareNo\" (click)=\"validateForm.setValue({'takeSpareNo':null,'typeId':validateForm.value.typeId,'date':validateForm.value.date})\"></i>\r\n                    </ng-template>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\"> 状态</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"全部\" formControlName=\"typeId\" style=\"width: 183px;\">\r\n                        <nz-option nzLabel=\"已出库\" nzValue=\"1\"></nz-option>\r\n                        <nz-option nzLabel=\"未出库\" nzValue=\"0\"></nz-option>\r\n                    </nz-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\"> 申请时间</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-range-picker [nzRanges]=\"ranges\" nzValue=\"date\" formControlName=\"date\" (ngModelChange)=\"onChange($event)\">\r\n                    </nz-range-picker>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"submitForm()\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:query'\" style=\"margin-left: 5px;\">查询</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"default\" (click)=\"resetForm()\" style=\"margin-left: 5px;\">重置</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;&nbsp;\r\n            <!-- <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"createTakeSpares()\" acl\r\n                        [acl-ability]=\"'oms:facility:SparePartsManagement:requisitionManager'\">创建领料单</button>\r\n                </nz-form-control>\r\n            </nz-form-item> -->\r\n        </div>\r\n    </form>\r\n</div>\r\n\r\n<nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" [nzLoading]=\"loading\" nzFrontPagination=\"false\"\r\n    nzTableLayout=\"fixed\" style=\"margin-top:12px;\">\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            <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 stockTable.data ;let i = index\">\r\n            <td>{{ startRow+i }}</td>\r\n            <td>{{ data.rlNo }}</td>\r\n            <td>{{ data.jno }}</td>\r\n            <td>{{ data.applicant }}</td>\r\n            <td>{{ data.stat }}</td>\r\n            <td>{{ data.createTime }}</td>\r\n            <td>{{ data.updateTime }}</td>\r\n            <td nzEllipsis><span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\" [nzTooltipTitle]=\"data.description\">{{ data.description }}</span></td>\r\n            <td><a (click)=\"DetailData(data.rlNo,data.jno,data.description,0)\">详情</a>\r\n                <!-- <a *ngIf='data.status == 0' (click)=\"DetailData(data.rlNo,data.jno,data.description,1)\">修改</a>\r\n                <nz-divider nzType=\"vertical\" *ngIf='data.status == 0'></nz-divider>\r\n                <a *ngIf='data.status == 0' (click)=\"deleteData(data.rlNo)\" acl\r\n                    [acl-ability]=\"'oms:facility:SparePartsManagement:requisitionManager'\">删除</a> -->\r\n                <nz-divider nzType=\"vertical\" *ngIf='data.status == 0' acl [acl-ability]=\"'oms:facility:SparePartsManagement:export'\"></nz-divider>\r\n                <a *ngIf='data.status == 0' (click)=\"createOutSpare(data.rlNo)\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:export'\">生成出库单</a>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}.pull-right{float:right!important}.editable-cell{position:relative;padding:1px;cursor:pointer}.editable-row:hover .editable-cell{border:1px solid #d9d9d9;border-radius:4px;padding:1px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":30,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":31,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":32,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"queryStockData":[{"__symbolic":"method"}],"formatDate":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"DetailData":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"createTakeSpares":[{"__symbolic":"method"}],"createOutSpare":[{"__symbolic":"method"}],"stockData":[{"__symbolic":"method"}],"outSparParts":[{"__symbolic":"method"}],"entrySpareParts":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}]}},"TakeSpareDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-take-spare-detail","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <nz-form-item *ngIf='canSave'>\r\n        <nz-form-label [nzSpan]=\"null\">\r\n            <font color='red'>*领料单号</font>\r\n        </nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <input nz-input formControlName=\"takeSpareNo\" [(ngModel)]=\"takeSpareNo\" />\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\">\r\n            <font color='red'>*工单编号</font>\r\n        </nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <input nz-input type=\"number\" formControlName=\"missionNo\" [(ngModel)]=\"missionNo\" />\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <br>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button (click)=\"addSpare()\" [disabled]=\"canSave\">添加备件</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button (click)=\"exportForm()\">导出表格</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n</form>\r\n<div style=\"height: 3px;\"></div>\r\n<nz-table #entryRowTable nzBordered [nzData]=\"listOfData\" [nzLoading]=\"loading\">\r\n    <thead>\r\n        <tr>\r\n            <th>备件名称</th>\r\n            <th>申请数量</th>\r\n            <th>单位</th>\r\n            <th *ngIf='takeSpareNo == null '>当前库存</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 entryRowTable.data\" class=\"editable-row\">\r\n            <td>{{ data.spName }}</td>\r\n            <td *ngIf='flag == 1'>\r\n                <div class=\"editable-cell\" [hidden]=\"editId === data.spNo\" (click)=\"startEdit(data.spNo)\">\r\n                    <span *ngIf='data.amount == 0 || data.amount > data.stocks'>\r\n                        <font color='red'>{{data.amount}}</font>\r\n                    </span>\r\n                    <span *ngIf='data.amount != 0 && data.amount <= data.stocks'>\r\n                        {{data.amount}}\r\n                    </span>\r\n                </div>\r\n                <input [hidden]=\"editId !== data.spNo\" type=\"number\" nz-input [(ngModel)]=\"data.amount\"\r\n                    [disabled]=\"canSave\" (blur)=\"stopEdit(data)\" />\r\n            </td>\r\n            <td *ngIf='flag == 0'>{{data.amount}}</td>\r\n            <td>{{ data.unit }}</td>\r\n            <td *ngIf='takeSpareNo == null'>{{data.stocks}}</td>\r\n            <!-- <td>{{ data.price }}</td>\r\n            <td> {{ data.total }}</td> -->\r\n            <td><input type=\"text\" nz-input [(ngModel)]=\"data.desc\" placeholder=\"50字内\" [disabled]=\"canSave\" /></td>\r\n            <td>\r\n                <span *ngIf='!canSave'>\r\n                    <a nz-popconfirm nzPopconfirmTitle=\"是否删除?\" (nzOnConfirm)=\"deleteRow(data.spNo)\">删除</a>\r\n                </span>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<br>\r\n<textarea rows=\"4\" nz-input [(ngModel)]=\"description\" placeholder=\"备注信息...100字内\" [disabled]=\"canSave\"></textarea>\r\n<br>\r\n<br>\r\n<div class=\"pull-right\">\r\n    <button nz-button nzType=\"primary\" (click)=\"saveTakeSpareData()\" [nzLoading]=\"uploading\" [disabled]=\"canSave\"\r\n        *ngIf='takeSpareNo == null'>创建</button>\r\n    &nbsp;\r\n    <!-- <button nz-button nzType=\"primary\" (click)=\"saveTakeSpareData()\" [nzLoading]=\"uploading\" [disabled]=\"canSave\"\r\n        *ngIf='takeSpareNo != null' acl\r\n        [acl-ability]=\"'oms:facility:SparePartsManagement:requisitionManager'\">修改</button>\r\n    &nbsp; -->\r\n    <button nz-button (click)=\"cancleTakeSpareData()\">取消</button>\r\n</div>\r\n<br>","styles":["html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{float:right!important}.editable-cell{position:relative;padding:1px;cursor:pointer}.editable-row:hover .editable-cell{border:1px solid #d9d9d9;border-radius:4px;padding:1px}"]}]}],"members":{"takeSpareNo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"missionNo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"flag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":30,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":31,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":32,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":33,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initEntryNo":[{"__symbolic":"method"}],"queryTakeSpareDetailData":[{"__symbolic":"method"}],"addSpare":[{"__symbolic":"method"}],"exportForm":[{"__symbolic":"method"}],"deleteRow":[{"__symbolic":"method"}],"startEdit":[{"__symbolic":"method"}],"stopEdit":[{"__symbolic":"method"}],"cancleTakeSpareData":[{"__symbolic":"method"}],"saveTakeSpareData":[{"__symbolic":"method"}],"saveTakeSpareDataInfo":[{"__symbolic":"method"}]}},"BudgetDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"app-budget-detail","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\">明细名称</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <input nz-input formControlName=\"bdName\" />\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n    <nz-form-item nz-col [nzSpan]=\"null\">\r\n        <nz-form-label>费用类型</nz-form-label>\r\n          <nz-form-control [nzTooltipTitle]=\"typeTemp\" nzTooltipPlacement=\"bottomLeft\" nz-tooltip>\r\n            <nz-tree-select #costTypeTreeSelect \r\n                nzVirtualHeight=\"300px\"\r\n                style = \"width: 183px;\"\r\n                formControlName=\"costTypeId\" \r\n                [nzNodes]=\"costTypes\" \r\n                nzShowSearch\r\n                nzPlaceHolder=\"请选择\" (ngModelChange)=\"treeSelectChanged($event)\">\r\n            </nz-tree-select>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nzType=\"default\" nz-button (click)=\"resetForm()\">重置</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <!-- <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"addBudgetDetail()\">新建</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"deleteBudgetDetail()\">删除</button>\r\n        </nz-form-control>\r\n    </nz-form-item> -->\r\n</form>\r\n<button style=\"margin:17px 17px 17px 0px;width: 90px;\" nzType=\"primary\" nz-button (click)=\"addBudgetDetail()\">新建</button>\r\n<button style=\"margin:17px 0px 17px 0px;\" nzType=\"primary\" class=\"btn-batch-del\" nz-button\r\n    (click)=\"deleteBudgetDetail()\">批量删除</button>\r\n<!-- <nz-spin [nzSpinning]=\"loading\" [nzSize]=\"'default'\" style=\"margin-top:7px;\"> -->\r\n    <nz-table #basicTable nzShowPagination [nzFrontPagination]=\"false\" [nzTotal]=\"total\"\r\n        [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\"\r\n        [nzLoading]=\"loading\" [nzData]=\"data\" nzTableLayout=\"fixed\">\r\n        <thead>\r\n            <tr>\r\n                <th nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\"\r\n                    (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"30px\"></th>\r\n                <th nzWidth=\"60px\">编号</th>\r\n                <th nzWidth=\"100px\">名称</th>\r\n                <th nzWidth=\"80px\">金额/元</th>\r\n                <th nzWidth=\"100px\">费用类型</th>\r\n                <th nzWidth=\"100px\">创建人</th>\r\n                <th>创建时间</th>\r\n                <th nzWidth=\"100px\">操作</th>\r\n            </tr>\r\n        </thead>\r\n        <tbody>\r\n            <tr *ngFor=\"let item of basicTable.data\">\r\n                <td nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(item.bdid)\"\r\n                    (nzCheckedChange)=\"onItemChecked(item.bdid, $event)\">\r\n                <td>{{item.bdid}}</td>\r\n                <td>{{item.bdname}}</td>\r\n                <td>{{item.initValue | number : '1.2-2'}}</td>\r\n                <td>{{item.costTypeName}}</td>\r\n                <td>{{item.userName}}</td>\r\n                <td>{{item.createTime | date:'yyyy-MM-dd hh:mm:ss'}}</td>\r\n                <td class='td-operate'>\r\n                    <!-- <ng-container>\r\n                    <a nz-button nzType=\"link\" (click)=\"previewTemplate(item.bdid)\">预览</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                </ng-container> -->\r\n                    <ng-container>\r\n                        <a nz-button nzType=\"link\" (click)=\"editBudgetDetail(item.bdid)\">编辑</a>\r\n                    </ng-container>\r\n                </td>\r\n            </tr>\r\n        </tbody>\r\n    </nz-table>\r\n<!-- </nz-spin> -->\r\n\r\n<!--业务类型提示框-->\r\n<ng-template #typeTemp>\r\n    <span>{{typeTooltip}}</span>\r\n  </ng-template>","styles":["html.blue :host ::ng-deep th.ant-table-cell{background-color:#101b47}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep th.ant-table-cell{background-color:#242525}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td,html.light :host ::ng-deep th.ant-table-cell{background-color:#fff}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"costTypeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":["costTypeTreeSelect"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":44,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":45,"character":21},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":46,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":47,"character":19},{"__symbolic":"reference","name":"ɵbt"},{"__symbolic":"reference","name":"ɵp"}]}],"ngOnInit":[{"__symbolic":"method"}],"treeSelectChanged":[{"__symbolic":"method"}],"fillTypeTooltip":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"addBudgetDetail":[{"__symbolic":"method"}],"deleteBudgetDetail":[{"__symbolic":"method"}],"previewTemplate":[{"__symbolic":"method"}],"editBudgetDetail":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"queryTemplateData":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"initCostTypeTree":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"BudgetDetailBudgetComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"app-budget-detail-budget","template":"<div style=\"width: 100%;height:100%;padding-left: 30px;padding-right: 30px;\">\r\n\r\n    <form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">明细名称</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"bdName\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item nz-col [nzSpan]=\"8\">\r\n            <nz-form-label>费用类型</nz-form-label>\r\n              <nz-form-control>\r\n                <!-- <nz-select style=\"width:183px\" nzShowSearch formControlName=\"costTypeId\">\r\n                    <nz-option *ngFor=\"let d of directors\" [nzValue]=\"d.typeId\" [nzLabel]=\"d.typeName\"></nz-option>\r\n                </nz-select> -->\r\n                <nz-tree-select #costTypeTreeSelect \r\n                    nzVirtualHeight=\"300px\"\r\n                    style = \"width: 183px;\"\r\n                    formControlName=\"costTypeId\" \r\n                    [nzNodes]=\"costTypes\" \r\n                    nzShowSearch\r\n                    nzPlaceHolder=\"请选择\" \r\n                    >\r\n            </nz-tree-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nzType=\"default\" nz-button (click)=\"resetForm()\">重置</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </form>\r\n\r\n    <div nz-row nzGutter=\"24\">\r\n\r\n        <div nz-col nzSpan=\"12\" style=\"margin-top: 10px;\">\r\n            <nz-table #leftTable [nzData]=\"LeftList\" nzShowPagination nzSimple=\"true\"\r\n                style=\"border: 1px solid #F0F0F0FF;height: 503px;\" \r\n                (nzCurrentPageDataChange)=\"LeftPageDataChange($event)\"\r\n                >\r\n                <thead>\r\n                    <tr>  \r\n                        <th style=\"width: 30px;\" nzShowCheckbox nzShowRowSelection [(nzChecked)]=\"LeftFlag\"\r\n                            [nzIndeterminate]=\"isIndeterminateLeft\" (nzCheckedChange)=\"LeftCheckAll($event)\"\r\n                            class=\"ant-table-customer-height\"></th>\r\n                        <th class=\"ant-table-customer-height\">名称</th>\r\n                        <th class=\"ant-table-customer-height\">费用类型</th>\r\n                        <th class=\"ant-table-customer-height\">预算金额/元</th>\r\n                        <th class=\"ant-table-customer-height\" *ngIf=\"detailMonth\">实际金额/元</th>\r\n                    </tr>\r\n                </thead>\r\n                <tbody>\r\n                    <tr *ngFor=\"let item of leftTable.data;let i=index\">\r\n                        <td nzShowCheckbox [nzChecked]=\"LeftElementIdSet.has(item.bdid)\"\r\n                            (nzCheckedChange)=\"LeftItemChecked(item.bdid,$event)\" style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\">\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip\r\n                                nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                                [nzTooltipTitle]=\"item.bdname\">{{item.bdname}}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip\r\n                                nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                                [nzTooltipTitle]=\"item.costTypeName\">{{item.costTypeName}}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\">\r\n                            <nz-input-number [(ngModel)]=\"item.initValue\" (ngModelChange)=\"valueChanged(item)\" [nzFormatter]=\"formatter\" [nzMin]=\"0\" [nzStep]=\"1\"></nz-input-number>\r\n                        </td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\" *ngIf=\"detailMonth\">\r\n                            <nz-input-number [(ngModel)]=\"item.actualValue\" (ngModelChange)=\"valueChanged(item)\" [nzFormatter]=\"formatter\" [nzMin]=\"0\" [nzStep]=\"1\"></nz-input-number>\r\n                        </td>\r\n                    </tr>\r\n                </tbody>\r\n            </nz-table>\r\n        </div>\r\n\r\n        \r\n        <div nz-col nzSpan=\"3\" style=\"margin-top: 100px;\">\r\n            <button nz-button nzType=\"default\" (click)=\"addRows()\" style=\"margin-left:7px;\">&lt;添加</button>\r\n            <button nz-button nzType=\"default\" class=\"btn-batch-del\" style=\"margin-top: 20px;margin-left:7px;\"\r\n                (click)=\"deleteRows()\">删除&gt;</button>\r\n        </div>\r\n\r\n        <div nz-col nzSpan=\"9\" style=\"margin-top: 10px;\" class=\"staff-seleted\">\r\n            <nz-table #rightTable [nzFrontPagination]=\"false\" [nzTotal]=\"RightTotal\" [(nzPageSize)]=\"RightPageSize\"\r\n            [(nzPageIndex)]=\"RightPageIndex\" [nzData]=\"listOfData\" nzTableLayout=\"fixed\"\r\n            nzSimple\r\n            (nzPageIndexChange)=\"RightPageIndexChange($event)\"\r\n            (nzCurrentPageDataChange)=\"RightPageDataChange($event)\"\r\n            >\r\n                <thead>\r\n                    <tr>\r\n                        <th style=\"width: 30px;\" nzShowCheckbox nzShowRowSelection [(nzChecked)]=\"RightFlag\"\r\n                            [nzIndeterminate]=\"isIndeterminateLeft\" (nzCheckedChange)=\"RightCheckAll($event)\"\r\n                            class=\"ant-table-customer-height\"></th>\r\n                        <th class=\"ant-table-customer-height\">名称</th>\r\n                        <th class=\"ant-table-customer-height\">费用类型</th>\r\n                        <th class=\"ant-table-customer-height\">预算金额/元</th>\r\n                    </tr>\r\n                </thead>\r\n                <tbody>\r\n                    <tr *ngFor=\"let item of rightTable.data\">\r\n                        <td nzShowCheckbox [nzChecked]=\"RightElementIdSet.has(item.bdid)\"\r\n                            (nzCheckedChange)=\"RightItemChecked(item.bdid,$event)\" style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\">\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip\r\n                                nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                                [nzTooltipTitle]=\"item.bdname\">{{item.bdname}}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\"><span nz-tooltip\r\n                                nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                                [nzTooltipTitle]=\"item.costTypeName\">{{item.costTypeName}}</span></td>\r\n                        <td nzEllipsis style=\"height: 40px;border-bottom: 1px solid #F0F0F0FF;\">\r\n                            <!-- <span nz-tooltip\r\n                                nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                                [nzTooltipTitle]=\"item.initValue\">{{item.initValue}}\r\n                            </span> -->\r\n                            <span nz-tooltip nzTooltipPlacement=\"topLeft\" nzTooltipColor=\"#262626FF\"\r\n                                [nzTooltipTitle]=\"item.costTypeName\">{{item.initValue | number : '1.2-2'}}</span>\r\n                        </td>\r\n                    </tr>\r\n                </tbody>\r\n            </nz-table>\r\n        </div>\r\n        \r\n    </div>\r\n    <div nz-row nzJustify=\"end\">\r\n        <button nz-button nzType=\"default\" (click)=\"cancelUpdate()\"\r\n            style=\"width:90px;margin-top: 17px;margin-right: 17px;\">取消</button>\r\n        <button nz-button nzType=\"primary\" (click)=\"submitUpdate()\" style=\"width:90px;margin-top: 17px;\">保存</button>\r\n    </div>\r\n\r\n    <div>\r\n\r\n    </div>\r\n</div>","styles":["html.blue :host ::ng-deep th.ant-table-cell{background-color:#101b47}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep th.ant-table-cell{background-color:#242525}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td,html.light :host ::ng-deep th.ant-table-cell{background-color:#fff}.ant-table-customer-height{height:40px}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:16px}:host ::ng-deep .ant-table-tbody>tr>td{border-bottom:0 solid #e8e8e8}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"costTypeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":["costTypeTreeSelect"]}]}],"bid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"detailMonth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":60,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":60,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":53,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":54,"character":20},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":55,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":56,"character":22},{"__symbolic":"reference","name":"ɵbt"},{"__symbolic":"reference","name":"ɵbu"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"LeftItemChecked":[{"__symbolic":"method"}],"leftRefreshCheckedStatus":[{"__symbolic":"method"}],"leftUpdateElementIdSet":[{"__symbolic":"method"}],"LeftCheckAll":[{"__symbolic":"method"}],"queryLeftData":[{"__symbolic":"method"}],"LeftPageDataChange":[{"__symbolic":"method"}],"RightItemChecked":[{"__symbolic":"method"}],"RightRefreshCheckedStatus":[{"__symbolic":"method"}],"updateRightElementIdSet":[{"__symbolic":"method"}],"RightCheckAll":[{"__symbolic":"method"}],"RightPageIndexChange":[{"__symbolic":"method"}],"RightPageDataChange":[{"__symbolic":"method"}],"queryRightData":[{"__symbolic":"method"}],"deleteRows":[{"__symbolic":"method"}],"refreshListDataRight":[{"__symbolic":"method"}],"addRows":[{"__symbolic":"method"}],"twice":[{"__symbolic":"method"}],"submitUpdate":[{"__symbolic":"method"}],"cancelUpdate":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"initCostTypeTree":[{"__symbolic":"method"}],"valueChanged":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"BudgetItemManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"app-budget-item-manager","template":"<form nz-form [formGroup]=\"validateForm\">\r\n  <div nz-row>\r\n    <div nz-col [nzSpan]=\"8\">\r\n      <nz-form-item>\r\n        <nz-form-label nzSpan=9 nzRequired>名称</nz-form-label>\r\n        <nz-form-control nzSpan=15>\r\n          <input nz-input formControlName=\"bname\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-col [nzSpan]=\"8\">\r\n      <nz-form-item>\r\n        <nz-form-label nzSpan=9 nzRequired>预算年份</nz-form-label>\r\n        <nz-form-control nzSpan=15>\r\n          <nz-date-picker nzMode=\"year\" formControlName=\"byear\"></nz-date-picker>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-col [nzSpan]=\"8\">\r\n      <nz-form-item>\r\n        <nz-form-label nzSpan=9>状态</nz-form-label>\r\n        <nz-form-control nzSpan=15>\r\n          <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"status\">\r\n            <nz-option *ngFor=\"let item of bstatus\" [nzLabel]=\"item.dictLabel\" [nzValue]=\"item.dictValue\">\r\n            </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]=\"8\">\r\n      <nz-form-item>\r\n        <nz-form-label nzSpan=9 nzRequired>负责人</nz-form-label>\r\n        <nz-form-control nzSpan=15>\r\n          <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"director\">\r\n            <nz-option *ngFor=\"let d of directors\" [nzValue]=\"d.userId\" [nzLabel]=\"d.userName\">\r\n            </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]=\"8\" [hidden]=\"code ==0 \">\r\n      <nz-form-item>\r\n        <nz-form-label nzSpan=9>金额(元)</nz-form-label>\r\n        <nz-form-control nzSpan=15>\r\n          <nz-input-number formControlName=\"currentValue\" [nzFormatter]=\"formatter\"></nz-input-number>\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 nzSpan=3>备注</nz-form-label>\r\n        <nz-form-control>\r\n          <textarea nzSpan=21 rows=\"3\" nz-input formControlName=\"mark\" placeholder=\"备注...\"></textarea>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n  </div>\r\n</form>\r\n\r\n\r\n<div *ngIf=\"bid\">\r\n  <div>\r\n    <button class=\"margin: 5px;\" nz-button nzType=\"primary\" (click)=\"add()\">新建月度预算</button>\r\n    <br>\r\n  </div>\r\n  <div class=\"nestedTable\">\r\n    <nz-table #nestedTable [nzData]=\"listOfParentData\" [nzPageSize]=\"13\" [nzShowPagination]=\"false\">\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        <ng-template ngFor let-data [ngForOf]=\"nestedTable.data\">\r\n          <tr>\r\n            <td [(nzExpand)]=\"data.expand\"></td>\r\n            <td>{{ data.bname }}</td>\r\n            <td>{{ data.bname == '年度预算'? '':data.currentValue | number : '1.2-2'}}</td>\r\n            <!--该月份明细金额累加-->\r\n            <td>{{ data.bname == '年度预算'? '':data.actualValue | number : '1.2-2'}}</td>\r\n            <!--编辑、删除-->\r\n            <td *ngIf=\"data.flag\">\r\n              <span class=\"table-operation\">\r\n                <!-- <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a class=\"operation\" (click)=\"edit(data.mbid)\">修改</a> -->\r\n                <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a nz-popconfirm nzPopconfirmTitle=\"确认删除吗?\" nzPopconfirmPlacement=\"bottom\" (nzOnConfirm)=\"del(data.mbid)\"\r\n                  (nzOnCancel)=\"cancel()\">\r\n                  删除\r\n                </a>\r\n                <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a class=\"operation\" (click)=\"relevance(data)\">编辑</a>\r\n              </span>\r\n            </td>\r\n            <td *ngIf=\"!data.flag\"></td>\r\n          </tr>\r\n          <tr [nzExpand]=\"data.expand\">\r\n            <div style=\"width: 500px; position: relative; left: 110px;\">\r\n              <nz-table #innerTable [nzData]=\"data.detailMonths\" nzSize=\"middle\" [nzShowPagination]=\"false\">\r\n                <thead>\r\n                  <tr>\r\n                    <th>明细</th>\r\n                    <th>费用类型</th>\r\n                    <th>预算金额(元)</th>\r\n                    <th *ngIf=\"!(data.bname==='年度预算')\">实际金额(元)</th>\r\n                    <th>时间</th>\r\n                  </tr>\r\n                </thead>\r\n      <tbody>\r\n        <tr *ngFor=\"let item of innerTable.data\">\r\n          <!--名称-->\r\n          <td>{{ item.bdname }}</td>\r\n          <td>{{ item.costTypeName }}</td>\r\n          <td>{{ item.initValue | number : '1.2-2'}}</td>\r\n          <td *ngIf=\"!(data.bname==='年度预算')\">{{ item.actualValue | number : '1.2-2'}}</td>\r\n          <td>{{item.createTime | date:'yyyy-MM-dd hh:mm:ss'}}</td>\r\n        </tr>\r\n      </tbody>\r\n    </nz-table>\r\n  </div>\r\n  </tr>\r\n  </ng-template>\r\n  </tbody>\r\n  </nz-table>\r\n  </div>\r\n<br>\r\n<nz-tag [nzColor]=\"'magenta'\">年度预算金额合计:{{yearBudget.sum | number : '1.2-2'}}元</nz-tag>\r\n<nz-tag [nzColor]=\"'magenta'\">月度预算金额合计:{{yearCurrentValue | number : '1.2-2'}}元</nz-tag>\r\n<nz-tag [nzColor]=\"'magenta'\">月度实际金额合计:{{yearActualValue | number : '1.2-2'}}元</nz-tag>\r\n</div>","styles":["html.blue :host ::ng-deep th.ant-table-cell{background-color:#101b47}html.blue :host ::ng-deep td.nz-disable-td.ant-table-cell{background-color:linear-gradient(to bottom right,#00127a,#000b40)}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep td.nz-disable-td.ant-table-cell,html.dark :host ::ng-deep th.ant-table-cell{background-color:#242525}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep th.ant-table-cell{background-color:#fff}html.light :host ::ng-deep td.nz-disable-td.ant-table-cell{background-color:#f0f2f5}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}.nestedTable{height:350px;overflow:auto}.nestedTable::-webkit-scrollbar{width:7px;height:1px}.nestedTable::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px hsla(0,0%,94.1%,.2);background:#c9c9c9}.nestedTable::-webkit-scrollbar-track{box-shadow:inset 0 0 5px hsla(0,0%,94.1%,.2);border-radius:10px;background:#ededed}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":24,"character":12}]}]],"parameters":[{"__symbolic":"reference","name":"ɵbu"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":21,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":22,"character":30},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":23,"character":26},{"__symbolic":"reference","name":"string"}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"bid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"loadData":[{"__symbolic":"method"}],"sortData":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"del":[{"__symbolic":"method"}],"relevance":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"initBudgetStatus":[{"__symbolic":"method"}],"initDirectors":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"getBudgetForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"BudgetMonthComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-budget-month","template":"<!-- <div>\r\n    <table>\r\n        <tr>\r\n            <td>\r\n                月份: <nz-date-picker id=\"date\" style=\"width: 110px; margin-right: 25px;\" [nzSize]=\"'small'\" nzMode=\"month\"\r\n                    [(ngModel)]=\"seletedDate\" type=\"datetime\" (ngModelChange)=\"onDateChange($event)\" [nzDisabledDate]=\"disabledDate\"></nz-date-picker>\r\n            </td>\r\n            <td>\r\n                预算金额：<nz-input-number id=\"money\" [(ngModel)]=\"demoValue\" [nzStep]=\"1\"></nz-input-number>\r\n            </td>\r\n        </tr>\r\n    </table>\r\n</div> -->\r\n<nz-radio-group style=\"width: 600px;\" [(ngModel)]=\"seletedMonth\" nzButtonStyle=\"solid\">\r\n    <div nz-row>\r\n        <div nz-col class=\"gutter-row\" [nzSpan]=\"4\" *ngFor=\"let month of months | slice:0:6\">\r\n                <label style=\"width:80px;text-align: center;\" nz-radio-button [nzValue]=\"month\">{{month+'月'}}</label>\r\n        </div>\r\n    </div>\r\n    <div nz-row style=\"margin-top: 24px;\">\r\n        <div nz-col class=\"gutter-row\" [nzSpan]=\"4\" *ngFor=\"let month of months | slice:6:12\">\r\n                <label style=\"width:80px;text-align: center;\" nz-radio-button [nzValue]=\"month\">{{month+'月'}}</label>\r\n        </div>\r\n    </div>\r\n</nz-radio-group>","styles":[""]}]}],"members":{"bid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"mbid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"byear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵbu"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":20,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"loadData":[{"__symbolic":"method"}],"edit":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}]}},"ProviderContractManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"app-provider-contract-manager","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">合同编号</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"contractNo\"/>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">合同名称</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"contractName\"/>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        \r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <a (click)=\"openOtherCondition()\" *ngIf=\"isShowLeft\" style=\"width: 40px;\" nz-button nzType=\"text\"><i nz-icon nzType=\"left\"></i></a>\r\n                <a (click)=\"closeOtherCondition()\" *ngIf=\"isShowDown\" style=\"width: 40px;\" nz-button nzType=\"text\"><i nz-icon nzType=\"down\"></i></a>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"submitForm()\" >查询</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row *ngIf=\"isShowDown\" style=\"margin-top: 6px;\">\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">负&nbsp;&nbsp;责&nbsp;&nbsp;人</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <nz-select style=\"width:183px\" nzShowSearch formControlName=\"projectLeader\">\r\n                    <nz-option *ngFor=\"let d of directors\" [nzValue]=\"d.userId\" [nzLabel]=\"d.userName\">\r\n                    </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]=\"null\">合同状态</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <nz-select  nzAllowClear formControlName=\"status\" style=\"width: 183px;\">\r\n                    <nz-option nzLabel=\"签约\" nzValue= 0></nz-option>\r\n                    <nz-option nzLabel=\"执行\" nzValue= 1></nz-option>\r\n                    <nz-option nzLabel=\"未执行\" nzValue= 2></nz-option>\r\n                    <nz-option nzLabel=\"终止\" nzValue= 3></nz-option>\r\n                    <nz-option nzLabel=\"废弃\" nzValue= 4></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form>\r\n  <button style=\"margin:17px 17px 17px 0px\" nzType=\"primary\" nz-button (click)=\"addContract()\">新建</button>\r\n  <button style=\"margin:17px 0px 17px 0px;\" nzType=\"primary\" class=\"btn-batch-del\"  nz-button (click)=\"delete()\">批量删除</button>\r\n<nz-spin [nzSpinning]=\"loading\" [nzSize]=\"'default'\" style=\"margin-top:7px;\">\r\n    <nz-table #contractTable nzShowPagination [nzData]=\"data\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\"\r\n        (nzPageIndexChange)=\"onPageIndexChange($event)\"  nzFrontPagination=\"false\" nzTableLayout=\"fixed\" [nzLoading]=\"loading\">\r\n        <thead>\r\n            <tr>\r\n                <th nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\"\r\n                (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"30px\"></th>\r\n                <th nzWidth = \"100px\">编号</th>\r\n                <th nzWidth = \"100px\">名称</th>\r\n                <th nzWidth = \"80px\">金额/元</th>\r\n                <th nzWidth = \"80px\">签订日期</th>\r\n                <th nzWidth = \"80px\">项目负责人</th>\r\n                <th nzWidth = \"80px\">状态</th>\r\n                <th nzWidth = \"120px\">服务内容</th>\r\n                <th>操作</th>\r\n            </tr>\r\n        </thead>\r\n        <tbody>\r\n            <tr *ngFor=\"let item of contractTable.data ;let i = index\">\r\n                <td nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(item.id)\"\r\n                (nzCheckedChange)=\"onItemChecked(item.id, $event)\">\r\n                <td>{{ item.contractNo }}</td>\r\n                <td>{{ item.contractName }}</td>\r\n                <td>{{ item.contractMoney | convertFloat}}</td>\r\n                <td>{{ item.signContractDate | date: 'yyyy-MM-dd'}}</td>\r\n                <td>{{ item.projectLeaderName }}</td>\r\n                <td>{{ status[item.status] }}</td>\r\n                <td>{{ item.contractContent }}</td>\r\n                <td>\r\n                    <a (click)=\"viewContract(item)\">查看</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                    <a (click)=\"editContract(item)\">修改</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                    <a (click)=\"evaluateContract(item ,0)\" *ngIf=\"isEmpty(item.responseTimeEvaluation)\">评价</a>\r\n                    <a (click)=\"evaluateContract(item,1)\" *ngIf=\"!isEmpty(item.responseTimeEvaluation)\">详情</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                    <a (click)=\"viewEntrySpare(item)\">入库单</a>\r\n                </td>\r\n            </tr>\r\n        </tbody>\r\n    </nz-table>\r\n</nz-spin>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":35,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":36,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":38,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":39,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"addContract":[{"__symbolic":"method"}],"viewEntrySpare":[{"__symbolic":"method"}],"viewContract":[{"__symbolic":"method"}],"editContract":[{"__symbolic":"method"}],"evaluateContract":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"queryContractData":[{"__symbolic":"method"}],"openOtherCondition":[{"__symbolic":"method"}],"closeOtherCondition":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ProviderDetailComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-provider-detail","template":"<nz-tabset>\r\n  <nz-tab nzTitle=\"合同\">\r\n    <app-provider-contract-manager [pno] =\"pno\"></app-provider-contract-manager>\r\n  </nz-tab>\r\n  <nz-tab nzTitle=\"报价\">\r\n    <app-provider-quotationsheet-manager [pno] =\"pno\"></app-provider-quotationsheet-manager>\r\n  </nz-tab>\r\n  <nz-tab nzTitle=\"协议\">\r\n    <app-provider-technical-agreement-manager [pno] =\"pno\"></app-provider-technical-agreement-manager>\r\n  </nz-tab>\r\n</nz-tabset>\r\n","styles":[":host ::ng-deep .ant-tabs-tab+.ant-tabs-tab{margin:0}:host ::ng-deep .ant-tabs-tab{padding:12px}"]}]}],"members":{"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":17,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":18,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":20,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":21,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ProviderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-provider","template":"  <form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>供应商名称</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"pname\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>供应商代码</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"pcode\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>类型</nz-form-label>\r\n        <nz-form-control [nzTooltipTitle]=\"typeTemp\" nzTooltipPlacement=\"bottomLeft\" nz-tooltip>\r\n          <nz-tree-select #typeTreeSelect [(ngModel)]=\"jobTypeSelected\" nzVirtualHeight=\"300px\" style=\"width:183px\" formControlName=\"ptype\" [nzNodes]=\"pTypes\" nzShowSearch\r\n            nz-size=\"large\" nzPlaceHolder=\"请选择\" (ngModelChange)=\"treeSelectChanged($event)\">\r\n          </nz-tree-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>公司地址</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"paddr\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>公司电话</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"pphone\" pattern=\"^0\\d{2,3}-\\d{7,8}$|^1[3|4|5|7|8][0-9]{9}$\" placeholder=\"xxxx-xxxxxxx或手机号码\"/>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>公司邮箱</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"pemail\"/>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>联系人</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"pcontact\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>联系人电话</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"cphone\" pattern=\"^0\\d{2,3}-\\d{7,8}$|^1[3|4|5|7|8][0-9]{9}$\" placeholder=\"xxxx-xxxxxxx或手机号码\"/>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>联系人邮箱</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"cemail\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>资质审查</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" formControlName=\"qualifyReview\">\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 nz-col [nzSpan]=\"8\" [style]=\"code == 1 || code == 2?'':'margin-left: 40px;'\">\r\n        <nz-form-label>负责人</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" nzShowSearch formControlName=\"director\">\r\n            <nz-option *ngFor=\"let d of directors\" [nzValue]=\"d.userId\" [nzLabel]=\"d.userName\">\r\n            </nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\" *ngIf=\"code == 1 || code == 2\" >\r\n        <nz-form-label>综合评定</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" formControlName=\"comprehensiveEvaluation\">\r\n            <nz-option nzLabel=\"继续留用\" nzValue=\"3\"></nz-option>\r\n            <nz-option nzLabel=\"观察试用\" nzValue=\"2\"></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 nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>表现评估</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" formControlName=\"performanceEvaluation\">\r\n            <nz-option nzLabel=\"优秀\" nzValue=\"5\"></nz-option>\r\n            <nz-option nzLabel=\"良好\" nzValue=\"4\"></nz-option>\r\n            <nz-option nzLabel=\"一般\" nzValue=\"3\"></nz-option>\r\n            <nz-option nzLabel=\"较差\" nzValue=\"2\"></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 nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>选用/续用</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" formControlName=\"continuUse\">\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    </div>\r\n    <!-- <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>负责人</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" nzShowSearch formControlName=\"director\">\r\n            <nz-option *ngFor=\"let d of directors\" [nzValue]=\"d.userId\" [nzLabel]=\"d.userName\">\r\n            </nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item style = \"margin-left: 42px;\" nz-col [nzSpan]=\"8\" *ngIf=\"code == 1\">\r\n        <nz-form-label>综合评定</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" formControlName=\"comprehensiveEvaluation\">\r\n            <nz-option nzLabel=\"继续留用\" nzValue=\"3\"></nz-option>\r\n            <nz-option nzLabel=\"观察试用\" nzValue=\"2\"></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    </div> -->\r\n    <div nz-row>\r\n      <nz-form-item nz-col nzSpan=\"24\">\r\n        <nz-form-label>备注</nz-form-label>\r\n        <nz-form-control>\r\n          <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"mark\" placeholder=\"备注...\"></textarea>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n  </form>\r\n\r\n  <!--业务类型提示框-->\r\n<ng-template #typeTemp>\r\n  <span>{{typeTooltip}}</span>\r\n</ng-template>\r\n","styles":[":host::ng-deep .ant-form-inline .ant-form-item{margin-right:0}"]}]}],"members":{"typeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":["typeTreeSelect"]}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":33,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":34,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":37,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"treeSelectChanged":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"fillTypeTooltip":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"getAllTypes":[{"__symbolic":"method"}],"getProviderForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ProviderQuotationsheetManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-provider-quotationsheet-manager","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">报价编号</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"qsNo\"/>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">报价名称</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"qsName\"/>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <a (click)=\"openOtherCondition()\" *ngIf=\"isShowLeft\" style=\"width: 40px;\" nz-button nzType=\"text\"><i nz-icon nzType=\"left\"></i></a>\r\n                <a (click)=\"closeOtherCondition()\" *ngIf=\"isShowDown\" style=\"width: 40px;\" nz-button nzType=\"text\"><i nz-icon nzType=\"down\"></i></a>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"submitForm()\" >查询</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row *ngIf=\"isShowDown\" style=\"margin-top: 6px;\">\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">报价状态</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <nz-select style=\"width: 183px;\" nzAllowClear nzShowSearch formControlName=\"status\">\r\n                    <nz-option *ngFor=\"let statu of status\" [nzValue]=\"statu.id\" [nzLabel]=\"statu.name\">\r\n                    </nz-option>\r\n                  </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form>\r\n  <button style=\"margin:17px 17px 17px 0px\" nzType=\"primary\" nz-button (click)=\"addQs()\">新建</button>\r\n  <button style=\"margin:17px 0px 17px 0px;\" nzType=\"primary\" class=\"btn-batch-del\"  nz-button (click)=\"delete()\">批量删除</button>\r\n<nz-spin [nzSpinning]=\"loading\" [nzSize]=\"'default'\" style=\"margin-top:7px;\">\r\n    <nz-table #qsTable nzShowPagination [nzData]=\"data\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\"\r\n        (nzPageIndexChange)=\"onPageIndexChange($event)\"  nzFrontPagination=\"false\" nzTableLayout=\"fixed\" [nzLoading]=\"loading\">\r\n        <thead>\r\n            <tr>\r\n                <th nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\"\r\n                (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"30px\"></th>\r\n                <th nzWidth = \"80px\">编号</th>\r\n                <th nzWidth = \"100px\">名称</th>\r\n                <th nzWidth = \"100px\">金额/元</th>\r\n                <th nzWidth = \"120px\">质保期/月</th>\r\n                <th nzWidth = \"80px\">报价人</th>\r\n                <th nzWidth = \"80px\">状态</th>\r\n                <!-- <th nzWidth = \"100px\">报价日期</th> -->\r\n                <th nzWidth = \"120px\">报价单描述</th>\r\n                <th>操作</th>\r\n            </tr>\r\n        </thead>\r\n        <tbody>\r\n            <tr *ngFor=\"let item of qsTable.data ;let i = index\">\r\n                <td nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(item.id)\"\r\n                (nzCheckedChange)=\"onItemChecked(item.id, $event)\">\r\n                <td>{{ item.qsNo }}</td>\r\n                <td>{{ item.qsName }}</td>\r\n                <td>{{ item.qsMoney | convertFloat }}</td>\r\n                <td>{{ item.guaranteePeriod }}</td>\r\n                <td>{{ item.qsBidder }}</td>\r\n                <td>{{ isEmpty(item.status)? '' : status[convertInt(item.status)].name  }}</td>\r\n                <!-- <td>{{ item.qsDate | date: 'yyyy-MM-dd'}}</td> -->\r\n                <td>{{ item.qsDesc }}</td>\r\n                <td>\r\n                    <a (click)=\"viewQs(item)\">详情</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                    <a (click)=\"editQs(item)\">修改</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>                    \r\n                </td>\r\n            </tr>\r\n        </tbody>\r\n    </nz-table>\r\n</nz-spin>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":43,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":44,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":46,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":47,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"addQs":[{"__symbolic":"method"}],"viewQs":[{"__symbolic":"method"}],"editQs":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"queryQsData":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"openOtherCondition":[{"__symbolic":"method"}],"closeOtherCondition":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"convertInt":[{"__symbolic":"method"}]}},"ProviderTechnicalAgreementManagerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-provider-technical-agreement-manager","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">协议编号</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"taNo\"/>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">协议名称</nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"taName\"/>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"submitForm()\" >查询</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form>\r\n  <button style=\"margin:17px 17px 17px 0px\" nzType=\"primary\" nz-button (click)=\"addTa()\">新建</button>\r\n  <button style=\"margin:17px 0px 17px 0px;\" nzType=\"primary\" class=\"btn-batch-del\"  nz-button (click)=\"delete()\">批量删除</button>\r\n<nz-spin [nzSpinning]=\"loading\" [nzSize]=\"'default'\" style=\"margin-top:7px;\">\r\n    <nz-table #taTable nzShowPagination [nzData]=\"data\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\"\r\n        (nzPageIndexChange)=\"onPageIndexChange($event)\"  nzFrontPagination=\"false\" nzTableLayout=\"fixed\" [nzLoading]=\"loading\">\r\n        <thead>\r\n            <tr>\r\n                <th nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\"\r\n                (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"30px\"></th>\r\n                <th nzWidth = \"100px\">编号</th>\r\n                <th nzWidth = \"100px\">名称</th>\r\n                <th nzWidth = \"90px\">甲方代表</th>\r\n                <th nzWidth = \"90px\">乙方代表</th>\r\n                <th nzWidth = \"100px\">签订日期</th>\r\n                <th nzWidth = \"120px\">技术协议描述</th>\r\n                <th nzWidth = \"120px\">备注</th>\r\n                <th>操作</th>\r\n            </tr>\r\n        </thead>\r\n        <tbody>\r\n            <tr *ngFor=\"let item of taTable.data ;let i = index\">\r\n                <td nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(item.id)\"\r\n                (nzCheckedChange)=\"onItemChecked(item.id, $event)\">\r\n                <td>{{ item.taNo }}</td>\r\n                <td>{{ item.taName }}</td>\r\n                <td>{{ item.aSigner }}</td>\r\n                <td>{{ item.bSigner }}</td>\r\n                <td>{{ item.signDate | date: 'yyyy-MM-dd'}}</td>\r\n                <td>{{ item.taContent }}</td>\r\n                <td>{{ item.mark }}</td>\r\n                <td>\r\n                    <a (click)=\"viewTa(item)\">详情</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                    <a (click)=\"editTa(item)\">修改</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>                    \r\n                </td>\r\n            </tr>\r\n        </tbody>\r\n    </nz-table>\r\n</nz-spin>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":29,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":30,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":32,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":33,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"addTa":[{"__symbolic":"method"}],"viewTa":[{"__symbolic":"method"}],"editTa":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"queryTaData":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":24}]}],"getPatrolTemplates":[{"__symbolic":"method"}],"getPatrolTemplatesByFilterString":[{"__symbolic":"method"}],"getPatrolTemplatesByCondition":[{"__symbolic":"method"}],"getPatrolTemplatesContainControls":[{"__symbolic":"method"}],"getPatrolTemplatesByPtno":[{"__symbolic":"method"}],"deletePatrolTemplate":[{"__symbolic":"method"}],"updatePatrolTemplate":[{"__symbolic":"method"}],"getControlsByPtno":[{"__symbolic":"method"}],"getControlByPtcno":[{"__symbolic":"method"}],"addTemplate":[{"__symbolic":"method"}],"addControl":[{"__symbolic":"method"}],"deleteControl":[{"__symbolic":"method"}],"batchDeleteTemplates":[{"__symbolic":"method"}],"updateTemplate":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":13,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"getQuestions":[{"__symbolic":"method"}],"toFormGroup":[{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":10,"character":34}]}],"getPatrolSheetsByJobId":[{"__symbolic":"method"}],"getPatrolSheetsByJobIdAndgroupId":[{"__symbolic":"method"}],"getPatrolSheetsByJobIdAndEpNo":[{"__symbolic":"method"}],"updatePatrolSheet":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"appState$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Select","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":20,"character":23},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":21,"character":18},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":22,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":23,"character":20},{"__symbolic":"reference","module":"@delon/acl","name":"ACLService","line":24,"character":23}]}],"canActivate":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"signOn":[{"__symbolic":"method"}],"signOnByCallerId":[{"__symbolic":"method"}],"isLogin":[{"__symbolic":"method"}],"getTouristId":[{"__symbolic":"method"}],"getTouristInfo":[{"__symbolic":"method"}],"getCurrentUserInfo":[{"__symbolic":"method"}],"getCurrentRoles":[{"__symbolic":"method"}],"getCurrentPermissions":[{"__symbolic":"method"}],"getDictionaryDatas":[{"__symbolic":"method"}],"getPermsFromTree":[{"__symbolic":"method"}],"getStatusByDictTypeAndDictValue":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":7,"character":1},"arguments":[{"name":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"StateToken","line":5,"character":33},"arguments":["authentication"]},"defaults":null}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"refresh":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":13,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}]}],"setAuthentication":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":20,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵg"}]}]}],"deleteAuthentication":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":25,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵh"}]}]}]}},"ɵf":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"type":"[RefreshData] RefreshState"}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"type":"[Authentication] Set"}},"ɵh":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]},"statics":{"type":"[Authentication] Delete"}},"ɵi":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵj"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":21}]}],"testJobEvent":[{"__symbolic":"method"}],"getJobs":[{"__symbolic":"method"}],"getJobsByCondition":[{"__symbolic":"method"}],"getJobsNoLogin":[{"__symbolic":"method"}],"getJobsExecl":[{"__symbolic":"method"}],"getStatusName":[{"__symbolic":"method"}],"getDelName":[{"__symbolic":"method"}],"getJobsByFilterCondition":[{"__symbolic":"method"}],"getJobsByCallerId":[{"__symbolic":"method"}],"getCountByPno":[{"__symbolic":"method"}],"getUnDispatchJobsByUseId":[{"__symbolic":"method"}],"getDoneJobsByRepairNo":[{"__symbolic":"method"}],"getDoneJobsByRepairNoAndDate":[{"__symbolic":"method"}],"getDoneJobsByDispatcherNo":[{"__symbolic":"method"}],"getJobByAlarmId":[{"__symbolic":"method"}],"getJob":[{"__symbolic":"method"}],"getJobAttachment":[{"__symbolic":"method"}],"getJobBeforeAttachment":[{"__symbolic":"method"}],"getJobCompletedAttachment":[{"__symbolic":"method"}],"updateJob":[{"__symbolic":"method"}],"setDupJob":[{"__symbolic":"method"}],"setUnDupJob":[{"__symbolic":"method"}],"updateJobSelective":[{"__symbolic":"method"}],"getJobTraces":[{"__symbolic":"method"}],"getJobByStatus":[{"__symbolic":"method"}],"getUsersBySkillId":[{"__symbolic":"method"}],"getUsersByDateAndUserId":[{"__symbolic":"method"}],"getUserByUserId":[{"__symbolic":"method"}],"getDutysByDateAndJobType":[{"__symbolic":"method"}],"getJobsByTypeAndStatus":[{"__symbolic":"method"}],"getTodayJobByPriority":[{"__symbolic":"method"}],"getTodayJob":[{"__symbolic":"method"}],"getCompletedJobByArchitecture":[{"__symbolic":"method"}],"getAllUncompletedJobByPriority":[{"__symbolic":"method"}],"getDutyByDateAndUserId":[{"__symbolic":"method"}],"addJobNote":[{"__symbolic":"method"}],"getSpareListByJob":[{"__symbolic":"method"}],"addAttachment":[{"__symbolic":"method"}],"deleteAttachment":[{"__symbolic":"method"}],"getJobsByTypeForDashboard":[{"__symbolic":"method"}],"getJobFeeByCostType":[{"__symbolic":"method"}],"getJobFeeByCostTypeBar":[{"__symbolic":"method"}],"getJobFeeByProviderBar":[{"__symbolic":"method"}],"getJobFeeByProvider":[{"__symbolic":"method"}],"getJobFeeBySkill":[{"__symbolic":"method"}],"dateFormat":[{"__symbolic":"method"}],"getJobMonthlyFee":[{"__symbolic":"method"}],"getJobOrderBySkill":[{"__symbolic":"method"}],"getJobOrderByYear":[{"__symbolic":"method"}],"getYearsJobAndTask":[{"__symbolic":"method"}],"getJobOrderByQuarter":[{"__symbolic":"method"}],"getJobBigTypes":[{"__symbolic":"method"}],"getTypesByParentID":[{"__symbolic":"method"}],"getJobStatus":[{"__symbolic":"method"}],"getTodayJobData":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"getRepairJobsByIds":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":18,"character":38},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":18,"character":67}]}],"initParam":[{"__symbolic":"method"}],"createParamMap":[{"__symbolic":"method"}],"updateJobLocations":[{"__symbolic":"method"}],"updateJobTypes":[{"__symbolic":"method"}],"updateJobLevels":[{"__symbolic":"method"}],"updateJobStatus":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-upload-file","template":"<div class=\"clearfix\">\r\n    <nz-upload\r\n      nzAction=\"url\"\r\n      nzListType=\"picture-card\"\r\n      [(nzFileList)]=\"fileList\"\r\n     \r\n      [nzShowUploadList]=\"showUploadList\"\r\n      [nzPreview]=\"handlePreview\"\r\n      (nzChange)=\"handleChange($event)\"\r\n      (nzRemove)=\"handleRemove($event)\"\r\n      [nzShowButton] = \"showButton ==1\"\r\n      [nzDisabled] = \"showButton ==1 && disabled == 1\"\r\n      nzRemove = \"false\"\r\n    >\r\n      <i nz-icon nzType=\"plus\"></i>\r\n      <div class=\"ant-upload-text\">上传</div>\r\n    </nz-upload>\r\n    <nz-modal\r\n      [nzVisible]=\"previewVisible\"\r\n      [nzContent]=\"modalContent\"\r\n      [nzFooter]=\"null\"\r\n      (nzOnCancel)=\"previewVisible = false\"\r\n    >\r\n      <ng-template #modalContent>\r\n        <img [src]=\"previewImage\" [ngStyle]=\"{ width: '100%' }\" />\r\n      </ng-template>\r\n    </nz-modal>\r\n  </div>\r\n","styles":["i[nz-icon]{font-size:32px;color:#999}.ant-upload-text{margin-top:8px;color:#666}:host ::ng-deep .ant-upload-list-picture-card-container{width:54px;height:54px;margin:0 12px 8px 0}"]}]}],"members":{"nzVoted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"showUploadList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"fileList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"showButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":20,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"getBase64":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-history-receive-record","template":"<nz-table #stockTable  [nzData]=\"listOfData\" [nzPageIndex] =\"'1'\" [nzPageSize] = \"'10'\" [nzLoading]='loading'>\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            <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 stockTable.data ;let i = index\">\r\n            <!-- <td>{{ startRow+i }}</td> -->\r\n            <td>{{ data.rlNo }}</td>\r\n            <!-- <td>{{ data.jno }}</td> -->\r\n            <td>{{ data.applicant }}</td>\r\n            <td>{{ data.status == '0'?\"未出库\":\"已出库\" }}</td>\r\n            <td>{{ data.createTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>\r\n            <td>{{ data.updateTime | date:'yyyy-MM-dd HH:mm:ss'}}</td>\r\n            <!-- <td>{{ data.description }}</td> -->\r\n            <td><a (click)=\"DetailData(data.rlNo,data.jno,data.description,0)\">详情</a>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>","styles":["html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}"]}]}],"members":{"jobId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":18,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":19,"character":20},{"__symbolic":"reference","name":"ɵi"}]}],"ngOnInit":[{"__symbolic":"method"}],"queryStockData":[{"__symbolic":"method"}],"DetailData":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"app-history-repair-record","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\">日期：</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <nz-range-picker [nzRanges]=\"defaultRanges\" [nzDisabledDate]=\"disabledDate\" formControlName=\"date\">\r\n            </nz-range-picker>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\"> 业务类型：</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <nz-tree-select  nzVirtualHeight=\"300px\" class=\"tree-select\" formControlName=\"typeId\" [nzNodes]=\"jobTypes\"\r\n                [nzDropdownMatchSelectWidth]=\"false\" nzShowSearch nzCheckable nzPlaceHolder=\"请选择\">\r\n            </nz-tree-select>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\">查询</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button (click)=\"resetForm()\">清除</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n</form>\r\n<nz-table #basicTable [nzFrontPagination]=\"false\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\"\r\n    [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange()\" [nzLoading]=\"loading\" [nzData]=\"data\">\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            <!-- <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 item of basicTable.data\">\r\n            <td>{{item.jno}}</td>\r\n            <!-- <td>{{ item.levelName }}</td> -->\r\n            <td>{{ item.typeName }}</td>\r\n            <td>{{ item.mark }}</td>\r\n            <!-- <td>{{ item.location }}</td> -->\r\n            <!-- <td>{{ item.statusName }}</td> -->\r\n            <td>{{ item.createTime }}</td>\r\n            <td>{{ item.hourEstimation }}</td>\r\n            <td>{{ item.finishEstimation }}</td>\r\n            <td>\r\n                <ng-container>\r\n                    <a (click)=\"viewJob(item,tplTitle)\">详情</a>\r\n                    <nz-divider nzType=\"vertical\"></nz-divider>\r\n                </ng-container>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<ng-template #tplTitle>\r\n    <span>工单详情</span>\r\n    <a href=\"javascript:void(0)\" (click)=\"traceJobInfo()\" style=\"float:right;margin-right:24px;color: #FFFFFF;\"\r\n        [acl]=\"{ ability: ['oms:jobmanager:omjob:dispatch', 'oms:jobmanager:omjob:jobtrace'], mode: 'oneOf' }\">轨迹追踪</a>\r\n</ng-template>","styles":["html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}"]}]}],"members":{"equipmentId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":1}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":40,"character":59},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":40,"character":88},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":41,"character":24}]}],"ngOnInit":[{"__symbolic":"method"}],"queryData":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"getAllTypes":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"traceJobInfo":[{"__symbolic":"method"}],"relateJobInfo":[{"__symbolic":"method"}],"showInfo":[{"__symbolic":"method"}],"viewJob":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-history-repair-record-detail","template":"<div>\r\n    <app-job-detail-header [job] = \"currentJob\" [code] = 'code'></app-job-detail-header>\r\n    <app-job-detail-foot (nzOperaVote)=\"operaFunction($event)\" (nzLinkVote)=\"linkFunction($event)\" [job] = \"currentJob\" [code] = 'code' [listOfAllData] =\"listOfAllData\"></app-job-detail-foot>    \r\n</div>\r\n\r\n","styles":[""]}]}],"members":{"currentJob":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":16,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":17,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"operaFunction":[{"__symbolic":"method"}],"linkFunction":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-job-cost","template":"<form nz-form [formGroup]=\"costForm\" class=\"ant-advanced-search-form\">\r\n    <div nz-row [nzGutter]=\"24\">\r\n      <div nz-col [nzSpan]=\"8\">\r\n        <nz-form-item>\r\n          <nz-form-label nzSpan=9>费用(元)</nz-form-label>\r\n          <nz-form-control nzSpan=15>\r\n            <nz-input-number  style=\"width: 100%;\" formControlName=\"money\" [nzMin]=\"0\" [nzStep]=\"0.01\"></nz-input-number>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>费用类型</nz-form-label>\r\n            <nz-form-control [nzTooltipTitle]=\"typeTemp\" nzTooltipPlacement=\"bottomLeft\" nz-tooltip nzSpan=15>\r\n              <nz-tree-select #costTypeTreeSelect \r\n                nzVirtualHeight=\"300px\"\r\n                formControlName=\"costType\" \r\n                [nzNodes]=\"costTypes\" \r\n                nzShowSearch\r\n                nzPlaceHolder=\"请选择\" \r\n                (ngModelChange)=\"treeSelectChanged($event)\">\r\n              </nz-tree-select>\r\n              </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=9>供应商</nz-form-label>\r\n            <nz-form-control nzSpan=15>\r\n                <nz-select nzAllowClear nzShowSearch formControlName=\"relatedProvideId\">\r\n                  <nz-option *ngFor=\"let provider of providers\" [nzValue]=\"provider.pno\" [nzLabel]=\"provider.pname\">\r\n                  </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 [nzGutter]=\"24\">\r\n        <div nz-col [nzSpan]=\"24\">\r\n          <nz-form-item>\r\n            <nz-form-label nzSpan=\"3\">费用描述</nz-form-label>\r\n            <nz-form-control nzSpan=\"21\">\r\n              <textarea rows=\"2\" nz-input formControlName=\"costDesc\" maxlength=\"1024\"></textarea>\r\n            </nz-form-control>\r\n          </nz-form-item>\r\n        </div>\r\n      </div>  \r\n      <div class= \"note-div\" *ngIf=\"this.isEdit\"><span>费用提交后不能修改，请慎重填写！</span></div>\r\n  </form>\r\n\r\n  <!--业务类型提示框-->\r\n<ng-template #typeTemp>\r\n  <span>{{typeTooltip}}</span>\r\n</ng-template>\r\n","styles":[":host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:8px}.note-div span{font-size:13px;color:red;margin-left:12px}"]}]}],"members":{"costTypeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":14,"character":3},"arguments":["costTypeTreeSelect"]}]}],"cost":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"isEdit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":24,"character":16},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"}]}],"ngOnInit":[{"__symbolic":"method"}],"setFormDisable":[{"__symbolic":"method"}],"initCostTypeTree":[{"__symbolic":"method"}],"treeSelectChanged":[{"__symbolic":"method"}],"fillTypeTooltip":[{"__symbolic":"method"}],"validateCostFormData":[{"__symbolic":"method"}],"getCostForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":9,"character":26}]}],"getCostByJobId":[{"__symbolic":"method"}],"getCostTypeList":[{"__symbolic":"method"}],"getCostType":[{"__symbolic":"method"}],"addCost":[{"__symbolic":"method"}],"updateCost":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":26}]}],"getProviderListByCondition":[{"__symbolic":"method"}],"getProviderList":[{"__symbolic":"method"}],"getProvider":[{"__symbolic":"method"}],"getProviderTypeList":[{"__symbolic":"method"}],"addProvider":[{"__symbolic":"method"}],"batchDeleteProviders":[{"__symbolic":"method"}],"updateProvider":[{"__symbolic":"method"}],"getDirectors":[{"__symbolic":"method"}],"getProviderContractsByCondition":[{"__symbolic":"method"}],"getProviderContracts":[{"__symbolic":"method"}],"batchDeleteContracts":[{"__symbolic":"method"}],"addContract":[{"__symbolic":"method"}],"getContract":[{"__symbolic":"method"}],"updateProviderContract":[{"__symbolic":"method"}],"evaluateProviderContract":[{"__symbolic":"method"}],"getProviderQsByCondition":[{"__symbolic":"method"}],"batchDeleteQuotationsheets":[{"__symbolic":"method"}],"addQuotationSheet":[{"__symbolic":"method"}],"getQuotationSheet":[{"__symbolic":"method"}],"updateQuotationSheet":[{"__symbolic":"method"}],"getProviderTaByCondition":[{"__symbolic":"method"}],"batchDeleteTas":[{"__symbolic":"method"}],"addTechnicalAgreement":[{"__symbolic":"method"}],"getTechnicalAgreement":[{"__symbolic":"method"}],"updateTechnicalAgreement":[{"__symbolic":"method"}],"getProviderCostByType":[{"__symbolic":"method"}],"getProviderCostTop":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-job-cost-list","template":"<div class=\"content\">\r\n    <div *ngIf=\"jobCostList.length == 0\" style=\"text-align: center;\"><span style=\"font-size: 16px;\">暂无数据...</span></div>\r\n    <div *ngFor=\"let item of jobCostList\" class=\"cost-item\">\r\n        <app-job-cost [isEdit] =\"item.edit\" [cost]=\"item\">\r\n        </app-job-cost>\r\n        <div class=\"item-opera\">        \r\n            <a nz-button nzType=\"link\" class=\"btn-batch-del\" nzDanger (click)=\"delete(item)\">删除</a>\r\n        </div>\r\n    </div>\r\n    <div style=\"float: right;\" (click)=\"addCost()\" nz-popover nzType=\"primary\" nzPopoverContent=\"添加费用\">\r\n        <svg t=\"1628043910530\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6410\" width=\"24px\" height=\"24px\">\r\n            <path d=\"M885.9 352l0 532.7L139.2 884.7 139.2 139l634.7 0 0-75.2L120.4 63.8c-31.1 0-56.4 25.3-56.4 56.4l0 783.3c0 31.1 25.3 56.4 56.4 56.4l784.3 0c31.1 0 56.4-25.3 56.4-56.4L961.1 352 885.9 352 885.9 352zM885.9 352\" p-id=\"6411\"></path>\r\n            <path d=\"M773.6 541.7c8.3-8.3 12.8-19.3 12.8-30.9 0-11.7-4.6-22.7-12.8-30.9-8.3-8.3-19.3-12.8-30.9-12.8L555 467.1 555 279.3c0-11.7-4.6-22.7-12.8-30.9-8.3-8.3-19.3-12.8-30.9-12.8-11.7 0-22.7 4.6-30.9 12.8-8.3 8.3-12.8 19.3-12.8 30.9L467.6 467.1 279.7 467.1c-11.7 0-22.7 4.6-30.9 12.8-8.3 8.3-12.8 19.3-12.8 30.9 0 11.7 4.6 22.7 12.8 30.9 8.3 8.3 19.3 12.8 30.9 12.8l187.8 0 0 187.8c0 24.1 19.6 43.8 43.8 43.8 11.7 0 22.7-4.6 30.9-12.8 8.3-8.3 12.8-19.3 12.8-30.9L555 554.6l187.8 0C754.4 554.6 765.4 550 773.6 541.7L773.6 541.7zM773.6 541.7\" p-id=\"6412\"></path>\r\n        </svg> \r\n    </div>\r\n    <!-- 鼠标一如何移除可以修改图标颜色，但是气泡有些问题-->\r\n    <!-- <div style=\"float: right;\" (click)=\"addCost()\" (mouseenter)=\"mouseEnter()\"  (mouseleave)=\"mouseLeave()\" nz-popover nzType=\"primary\" nzPopoverContent=\"添加费用\">\r\n        <ng-container *ngIf=\"isFocus; else elseTemplate\">\r\n            <svg t=\"1628043910530\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6410\" width=\"24px\" height=\"24px\">\r\n                <path d=\"M885.9 352l0 532.7L139.2 884.7 139.2 139l634.7 0 0-75.2L120.4 63.8c-31.1 0-56.4 25.3-56.4 56.4l0 783.3c0 31.1 25.3 56.4 56.4 56.4l784.3 0c31.1 0 56.4-25.3 56.4-56.4L961.1 352 885.9 352 885.9 352zM885.9 352\" p-id=\"6411\"></path>\r\n                <path d=\"M773.6 541.7c8.3-8.3 12.8-19.3 12.8-30.9 0-11.7-4.6-22.7-12.8-30.9-8.3-8.3-19.3-12.8-30.9-12.8L555 467.1 555 279.3c0-11.7-4.6-22.7-12.8-30.9-8.3-8.3-19.3-12.8-30.9-12.8-11.7 0-22.7 4.6-30.9 12.8-8.3 8.3-12.8 19.3-12.8 30.9L467.6 467.1 279.7 467.1c-11.7 0-22.7 4.6-30.9 12.8-8.3 8.3-12.8 19.3-12.8 30.9 0 11.7 4.6 22.7 12.8 30.9 8.3 8.3 19.3 12.8 30.9 12.8l187.8 0 0 187.8c0 24.1 19.6 43.8 43.8 43.8 11.7 0 22.7-4.6 30.9-12.8 8.3-8.3 12.8-19.3 12.8-30.9L555 554.6l187.8 0C754.4 554.6 765.4 550 773.6 541.7L773.6 541.7zM773.6 541.7\" p-id=\"6412\"></path>\r\n            </svg>\r\n        </ng-container>\r\n        <ng-template #elseTemplate>\r\n            <svg t=\"1628128291530\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1021\" width=\"24px\" height=\"24px\">\r\n                <path d=\"M885.9 352l0 532.7L139.2 884.7 139.2 139l634.7 0 0-75.2L120.4 63.8c-31.1 0-56.4 25.3-56.4 56.4l0 783.3c0 31.1 25.3 56.4 56.4 56.4l784.3 0c31.1 0 56.4-25.3 56.4-56.4L961.1 352 885.9 352 885.9 352zM885.9 352\" fill=\"#1296db\" p-id=\"1022\"></path>\r\n                <path d=\"M773.6 541.7c8.3-8.3 12.8-19.3 12.8-30.9 0-11.7-4.6-22.7-12.8-30.9-8.3-8.3-19.3-12.8-30.9-12.8L555 467.1 555 279.3c0-11.7-4.6-22.7-12.8-30.9-8.3-8.3-19.3-12.8-30.9-12.8-11.7 0-22.7 4.6-30.9 12.8-8.3 8.3-12.8 19.3-12.8 30.9L467.6 467.1 279.7 467.1c-11.7 0-22.7 4.6-30.9 12.8-8.3 8.3-12.8 19.3-12.8 30.9 0 11.7 4.6 22.7 12.8 30.9 8.3 8.3 19.3 12.8 30.9 12.8l187.8 0 0 187.8c0 24.1 19.6 43.8 43.8 43.8 11.7 0 22.7-4.6 30.9-12.8 8.3-8.3 12.8-19.3 12.8-30.9L555 554.6l187.8 0C754.4 554.6 765.4 550 773.6 541.7L773.6 541.7zM773.6 541.7\" fill=\"#1296db\" p-id=\"1023\"></path>\r\n            </svg>\r\n        </ng-template>  \r\n    </div> -->\r\n</div>\r\n","styles":[".content{max-height:800px;overflow:auto;overflow-x:hidden}.cost-item{margin-bottom:12px;border:1px solid #bbc4de;padding:12px;border-radius:12px}:host ::ng-deep .ant-btn{padding-right:0}.item-opera{text-align:right}"]}]}],"members":{"jobId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":20,"character":21},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":21,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":22,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":23,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"initCostList":[{"__symbolic":"method"}],"addCost":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":9,"character":26}]}],"getJobSignature":[{"__symbolic":"method"}],"getJobSignatureListByJno":[{"__symbolic":"method"}],"addJobSignature":[{"__symbolic":"method"}],"deleteJobSignature":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"tellPhoneNumberValidator":[{"__symbolic":"method"}],"phoneNumberValidator":[{"__symbolic":"method"}],"numberValidator":[{"__symbolic":"method"}],"numberGreaterThanZeroValidator":[{"__symbolic":"method"}],"twoDecimalValidator":[{"__symbolic":"method"}],"oneDecimalValidator":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":12,"character":35}]}],"queryKnowledgeType":[{"__symbolic":"method"}],"queryKnowledgeData":[{"__symbolic":"method"}],"saveKnowledge":[{"__symbolic":"method"}],"deleteKnowledge":[{"__symbolic":"method"}],"queryKnowledgeAttachment":[{"__symbolic":"method"}],"editKnowledge":[{"__symbolic":"method"}],"queryKnowledgeDataById":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":10,"character":34}]}],"getPatrolArea":[{"__symbolic":"method"}],"getPatrolAreaByAreaNo":[{"__symbolic":"method"}],"getPatrolAreasByCondition":[{"__symbolic":"method"}],"addPatrolArea":[{"__symbolic":"method"}],"batchDeletePatrolAreas":[{"__symbolic":"method"}],"deletePatrolArea":[{"__symbolic":"method"}],"updatePatrolArea":[{"__symbolic":"method"}],"getAreaType":[{"__symbolic":"method"}],"getAreaLocation":[{"__symbolic":"method"}],"getAreasByFilterString":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":34}]}],"getStisfactionRtio":[{"__symbolic":"method"}],"getRepaireRatio":[{"__symbolic":"method"}],"getYearOperationPlanDistinctType":[{"__symbolic":"method"}],"getEquipmentCountByType":[{"__symbolic":"method"}],"getRepairPeriodByMonthes":[{"__symbolic":"method"}],"getUnmarkedEquipmentCount":[{"__symbolic":"method"}],"getEquipmentTypeList":[{"__symbolic":"method"}],"getEquipmentMarkStatusList":[{"__symbolic":"method"}],"getEquipmentExpireStatusList":[{"__symbolic":"method"}],"queryFacilityDataById":[{"__symbolic":"method"}],"queryMaintenaceDataByEpNo":[{"__symbolic":"method"}],"queryBimDataByEpNo":[{"__symbolic":"method"}],"queryBimDataByEpPoint":[{"__symbolic":"method"}],"queryBIMDataByLinkage":[{"__symbolic":"method"}],"queryFacilityDataByBarCode":[{"__symbolic":"method"}],"getAllEquipmentsListByCondition":[{"__symbolic":"method"}],"getRepairPeriodEquipmentsByCondition":[{"__symbolic":"method"}],"getEquipmentsByFilterString":[{"__symbolic":"method"}],"getExpiringEquipmentsList":[{"__symbolic":"method"}],"updateEquipment":[{"__symbolic":"method"}],"getEquipmentByID":[{"__symbolic":"method"}],"getEquipmentDashboardData":[{"__symbolic":"method"}],"getEquipmentDashboardStaticData":[{"__symbolic":"method"}],"getIntactRate":[{"__symbolic":"method"}],"getEquipmentIntactData":[{"__symbolic":"method"}],"getHomeData":[{"__symbolic":"method"}],"getExpairEquipmentsByMonthes":[{"__symbolic":"method"}],"addEquipment":[{"__symbolic":"method"}],"editEquipment":[{"__symbolic":"method"}],"deleteFacilityBatch":[{"__symbolic":"method"}],"deleteFacilityBmsState":[{"__symbolic":"method"}],"getEquipmentMaintainData":[{"__symbolic":"method"}],"importEquipments":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"getLevelUseMaintainData":[{"__symbolic":"method"}],"getSparePartsByTypeAndStock":[{"__symbolic":"method"}],"getEquipmentsSomeMonth":[{"__symbolic":"method"}],"getPlansSomeMonth":[{"__symbolic":"method"}],"getEquipmentOperatingRate":[{"__symbolic":"method"}],"getEquipmentsRealTime":[{"__symbolic":"method"}],"getEquipmentHistoricalIntegrity":[{"__symbolic":"method"}],"getDictionaryDataAssetLevel":[{"__symbolic":"method"}],"selectSpareData":[{"__symbolic":"method"}],"getPlanData":[{"__symbolic":"method"}],"getToolsData":[{"__symbolic":"method"}],"getEpAlarmAndState":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"app-job-quotation-table","template":"<nz-table\r\n    [class]=\"jobQuotationList.length > 0 ? 'repairer-table' : ''\"\r\n    [nzVirtualItemSize]=\"24\"\r\n    [nzData]=\"jobQuotationList\"\r\n    [nzFrontPagination]=\"false\"\r\n    [nzShowPagination]=\"false\"\r\n    [nzScroll]=\"{x: '650px' , y: '108px' }\"\r\n    [nzSize] =\"'small'\"\r\n    nzTableLayout=\"fixed\"\r\n>\r\n    <thead>\r\n    <tr>\r\n        <th>报价单编号</th>\r\n        <th>报价单名称</th>\r\n        <th nzWidth=\"100px\">质保期(月)</th>\r\n        <th nzWidth=\"100px\">报价金额(元)</th>\r\n        <th nzWidth=\"100px\">实际金额(元)</th>\r\n        <th>事由</th>\r\n        <th nzWidth=\"100px\" >操作</th>\r\n    </tr>\r\n    </thead>\r\n    <tbody>\r\n    <ng-template nz-virtual-scroll let-data let-index=\"index\">\r\n    <tr>\r\n        <td>{{ data.qsNo }}</td>\r\n        <td class=\"jq-td\">\r\n            <nz-select  nzShowSearch nzAllowClear\r\n            [nzDisabled]=\"data.id != null\"\r\n            [(ngModel)]=\"data.qid\" [nzSize]=\"'large'\" style = \"width: 100%;\" \r\n            (ngModelChange)=\"jobQuotationChanged($event,index)\">\r\n                <nz-option *ngFor=\"let item of jobQuotations\" [nzLabel]=\"item.qsName\" [nzValue]=\"item.id\">\r\n                </nz-option>\r\n            </nz-select>\r\n        </td>\r\n        <td>{{ data.guaranteePeriod }}</td>\r\n        <td>{{ data.qsMoney }}</td>\r\n        <td>\r\n            <nz-input-number \r\n            (nzBlur) = \"realQsMoneyBlur(data,index)\"\r\n            [(ngModel)]=\"data.realQsMoney\" [nzDisabled]=\"data.qid == null || !data.isEditable\" \r\n            [nzSize]=\"'large'\" [nzMin]=\"1\" [nzStep]=\"1\" style = \"width: 100%;\"></nz-input-number>\r\n        </td>\r\n        <td>\r\n            <input nz-input [nzSize]=\"'large'\" [disabled]=\"data.qid == null || data.id == null || !data.isEditable \" [(ngModel)]=\"data.reason\" />\r\n        </td>\r\n        <td>\r\n        <ng-container>\r\n            <!-- <a nz-button nzType=\"link\" (click)=\"editJobQuotation(data,index)\">{{data.isEditable ? '保存':'编辑'}}</a> -->\r\n            <a nz-button nzType=\"link\" nz-tooltip [nzTooltipTitle] = \"data.isEditable ? '保存':'编辑'\" \r\n            nzTooltipPlacement=\"bottom\" \r\n            [disabled] = \"jobStatus > 3\"\r\n            (click)=\"editJobQuotation(data,index)\">\r\n                <i [class]=\"data.isEditable ? 'iconfont icon-save link-font':'iconfont icon-edit link-font'\" [style]=\"jobStatus > 3?'color: #938f8f;':'color: #1890ff;'\"></i>\r\n            </a>\r\n            <!-- <nz-divider nzType=\"vertical\"></nz-divider> -->\r\n            <!-- <a nz-button nzType=\"link\" (click)=\"deleteJobQuotation(data,index)\">删除</a> -->\r\n            <a nz-button nzType=\"link\" nz-tooltip nzTooltipTitle = \"删除\" nzTooltipPlacement=\"bottom\" \r\n            [disabled] = \"jobStatus > 3\"\r\n            (click)=\"deleteJobQuotation(data,index)\">\r\n                <i class =\"iconfont icon-delete link-font\" [style]=\"jobStatus > 3?'color: #938f8f;':'color: #1890ff;'\"></i>\r\n            </a>\r\n            <!-- <nz-divider nzType=\"vertical\"></nz-divider> -->\r\n            <!-- <a nz-button nzType=\"link\" (click)=\"showTraceInfo(data)\" [disabled] = \"data.id == null\">历史记录</a> -->\r\n            <a nz-button nzType=\"link\" \r\n                [disabled] = \"data.id == null\"\r\n                nz-tooltip nzTooltipTitle = \"历史记录\" \r\n                nzTooltipPlacement=\"bottom\" \r\n                (click)=\"showTraceInfo(data)\" >\r\n                <i class =\"iconfont icon-trace link-font\" [style]=\"data.id == null?'color: #938f8f;':'color: #1890ff;'\"></i>\r\n            </a>\r\n        </ng-container>\r\n        </td>           \r\n    </tr>\r\n</ng-template>\r\n    </tbody>\r\n</nz-table>\r\n<a nz-button nzType=\"link\" nz-tooltip nzTooltipTitle=\"添加报价单\" \r\n    nzTooltipPlacement=\"bottom\"\r\n    [disabled] = \"jobStatus > 3\" \r\n    (click)=\"addRow()\"\r\n    [hidden]=\"!thirdpartyJobProcess\">\r\n    <i class=\"iconfont icon-add link-add-font\" [style]=\"jobStatus > 3?'color: #938f8f;':'color: #1890ff;'\"></i>\r\n</a>\r\n\r\n","styles":["html.blue :host ::ng-deep .ant-table table{border:0 solid #15245e}html.blue :host ::ng-deep .ant-table.ant-table-small .nz-table-hide-scrollbar{background:#023b86}html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}html.blue :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{border:1px solid #023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.blue :host ::ng-deep .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:0 auto}html.blue :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0}html.blue :host ::ng-deep .repairer-table .ant-table-container{border:1px solid #023b86}html.blue :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{border:0 solid #023b86}html.blue :host ::ng-deep .ant-select-arrow{display:none}html.blue :host ::ng-deep .ant-btn{padding:4px 0}html.blue :host ::ng-deep .ant-input,html.blue :host ::ng-deep .ant-input-number{border:0 solid #023b86;background:#101b47}html.blue :host ::ng-deep .ant-input-number-input,html.blue :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#101b47}html.dark :host ::ng-deep .ant-table table{border:0 solid #15245e}html.dark :host ::ng-deep .ant-table.ant-table-small .nz-table-hide-scrollbar{background:#1d1d1d}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}html.dark :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{border:1px solid #1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.dark :host ::ng-deep .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:0 auto}html.dark :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0}html.dark :host ::ng-deep .repairer-table .ant-table-container{border:1px solid #1d1d1d}html.dark :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{border:0 solid #1d1d1d}html.dark :host ::ng-deep .ant-select-arrow{display:none}html.dark :host ::ng-deep .ant-btn{padding:4px 0}html.dark :host ::ng-deep .ant-input,html.dark :host ::ng-deep .ant-input-number{border:0 solid #1d1d1d;background:#242525}html.dark :host ::ng-deep .ant-input-number-input,html.dark :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#242525}html.light :host ::ng-deep .ant-table table{border:0 solid #15245e}html.light :host ::ng-deep .ant-table.ant-table-small .nz-table-hide-scrollbar{background:#e8e8e8}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}html.light :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{border:1px solid #e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}html.light :host ::ng-deep .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:0 auto}html.light :host ::ng-deep .ant-table.ant-table-small .ant-table-tbody>tr>td{padding:0}html.light :host ::ng-deep .repairer-table .ant-table-container{border:1px solid #e8e8e8}html.light :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{border:0 solid #e8e8e8}html.light :host ::ng-deep .ant-select-arrow{display:none}html.light :host ::ng-deep .ant-btn{padding:4px 0}html.light :host ::ng-deep .ant-input,html.light :host ::ng-deep .ant-input-number{border:0 solid #e8e8e8;background:#fff}html.light :host ::ng-deep .ant-input-number-input,html.light :host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#fff}.link-font{font-size:24px}.link-add-font{font-size:28px}"]}]}],"members":{"jobId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"jobStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":24,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":27,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":28,"character":19},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"queryJobQuotationList":[{"__symbolic":"method"}],"initJobQuotations":[{"__symbolic":"method"}],"jobQuotationChanged":[{"__symbolic":"method"}],"realQsMoneyBlur":[{"__symbolic":"method"}],"editJobQuotation":[{"__symbolic":"method"}],"deleteJobQuotation":[{"__symbolic":"method"}],"addRow":[{"__symbolic":"method"}],"showTraceInfo":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":16,"character":26}]}],"getListByJno":[{"__symbolic":"method"}],"getTraceByJqno":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-job-quotation-trace","template":"<cdk-virtual-scroll-viewport itemSize=\"24\" class=\"infinite-scroll-container\">\r\n    <nz-list *ngIf=\"traces != null; else elseBlock;\" [nzDataSource]=\"traces\" [nzHeader]=\"header\" [nzFooter]=\"null\"\r\n        [nzRenderItem]=\"defaultItem\" >\r\n        <ng-template #header>\r\n            <b style=\"font-size: 16px;\">报价单编号：{{jobQuotation.qsNo}}</b>\r\n        </ng-template>\r\n        <ng-template #defaultItem let-item>\r\n            <nz-list-item>\r\n                <div nz-row style=\"width: 100%;\">\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <b nz-col nzSpan=\"6\">{{item.traceTime | date:'yyyy-MM-dd HH:mm:ss'}}</b>\r\n\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <div nz-col nzSpan=\"24\">{{item.reason == null?item.traceDesc:item.traceDesc + '事由：' + item.reason}}</div>\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <b nz-col nzSpan=\"5\" nzOffset=\"19\">操作人：{{ item.reporterName }}</b>\r\n                    </div>\r\n                </div>\r\n                \r\n            </nz-list-item>\r\n        </ng-template>\r\n    </nz-list>\r\n</cdk-virtual-scroll-viewport>\r\n<ng-template #elseBlock>\r\n    <nz-empty></nz-empty>\r\n</ng-template>","styles":[".infinite-scroll-container{height:450px;border-radius:4px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵy"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-job-signature","template":"<nz-list *ngIf=\"signatureList.length > 0\">\n  <nz-list-item *ngFor=\"let signature of signatureList\">  \n    <div style = \"position: relative;\">\n      <img style = \"width: 100%;height: 100%;\" src='{{ signature.signatureUrl }}' />\n      <a class=\"link-button\" nz-button nzType=\"link\" nz-tooltip nzTooltipTitle = \"删除\" nzTooltipPlacement=\"bottom\" \n            (click)=\"deleteSignature(signature.id)\">\n        <i class =\"iconfont icon-delete link-font\" [style]=\"'color: #1890ff;'\"></i>\n      </a>\n    </div>\n  </nz-list-item>\n</nz-list>\n<div *ngIf=\"signatureList.length == 0\" style=\"font-size: 16px;text-align: center;\">\n  <span>暂无签名...</span>\n</div>\n","styles":[".link-font{font-size:24px}.link-button{right:0;top:0;position:absolute}"]}]}],"members":{"jobId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":16,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":17,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"getSignatureList":[{"__symbolic":"method"}],"deleteSignature":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-job-trace","template":"<cdk-virtual-scroll-viewport itemSize=\"24\" class=\"infinite-scroll-container\">\r\n    <nz-list *ngIf=\"traces != null; else elseBlock;\" [nzDataSource]=\"traces\" [nzHeader]=\"header\" [nzFooter]=\"null\"\r\n        [nzRenderItem]=\"defaultItem\" >\r\n        <ng-template #header>\r\n            <b style=\"font-size: 16px;\">任务编号：{{job.jno}}</b>\r\n        </ng-template>\r\n        <ng-template #defaultItem let-item>\r\n            <nz-list-item>\r\n                <div nz-row style=\"width: 100%;\">\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <b nz-col nzSpan=\"6\">{{item.traceTime | date:'yyyy-MM-dd HH:mm:ss'}}</b>\r\n                        <!-- <div nz-col nzSpan=\"14\"> {{ item.traceDesc }}</div>\r\n                        <div nz-col nzSpan=\"4\"> 操作员{{ item.reporterName }}</div> -->\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <div nz-col nzSpan=\"24\"> {{ item.traceDesc }}</div>\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\" *ngIf=\"item.attachmentFlag == '1'\">\r\n                        <b nz-col nzSpan=\"2\">附件：</b>\r\n                        <div nz-col nzSpan=\"22\">\r\n                            <img *ngFor=\"let attachment of item.attachments\" nz-image width=\"45px\" [nzSrc]=\"attachment.url\" alt=\"\" />\r\n                        </div>\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <b nz-col nzSpan=\"5\" nzOffset=\"19\">{{ item.reporter != null?(item.reporter == '-1'?\"系统通知\":\"操作员：\"+item.reporterName):\"报修人提交\" }}</b>\r\n                    </div>\r\n                </div>\r\n                \r\n            </nz-list-item>\r\n        </ng-template>\r\n    </nz-list>\r\n</cdk-virtual-scroll-viewport>\r\n<ng-template #elseBlock>\r\n    <nz-empty></nz-empty>\r\n</ng-template>","styles":[".infinite-scroll-container{height:450px;border-radius:4px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵi"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-out-detail","template":"<form nz-form [formGroup]=\"validateForm\">\r\n    <div style=\"display: flex;\">\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                <font color='red'>*出库单号</font>\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"outNo\" [(ngModel)]=\"outNo\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                <font color='red'> *出库类型</font>\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" [(ngModel)]=\"selectedValue\"\r\n                    formControlName=\"typeId\">\r\n                    <nz-option *ngFor=\"let item of outTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\"></nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                <font color='red'> *领用人</font>\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <span *ngIf='no != null'>\r\n                    <input nz-input formControlName=\"receiver\" [(ngModel)]=\"receiver\" />\r\n                </span>\r\n                <!-- <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"选择领用人\" formControlName=\"deliver\" [(ngModel)]=\"deliver\">\r\n                <nz-option *ngFor=\"let item of users\" [nzLabel]=\"item.userName\" [nzValue]=\"item.userId\"></nz-option>\r\n            </nz-select> -->\r\n                <span *ngIf='no == null'>\r\n                    <nz-select nzShowSearch nzAllowClear nzServerSearch nzPlaceHolder=\"输入姓名并选择\"\r\n                        formControlName=\"receiver\" [(ngModel)]=\"receiver\" [nzShowArrow]=\"false\"\r\n                        [nzFilterOption]=\"nzFilterOption\" (nzOnSearch)=\"search($event)\" style=\"width: 200px;\">\r\n                        <nz-option *ngFor=\"let o of users\" [nzLabel]=\"o.userName\" [nzValue]=\"o.userId\"> </nz-option>\r\n                    </nz-select>\r\n                </span>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n\r\n    </div>\r\n\r\n    <nz-form-item *ngIf='rlNo != null' style=\"width: 200px;\">\r\n        <nz-form-label [nzSpan]=\"null\">\r\n            <font color='red'>*领料单号</font>\r\n        </nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <input nz-input formControlName=\"rlNo\" [(ngModel)]=\"rlNo\" />\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <div style=\"display: flex;\">\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"addSpare()\"\r\n                    [disabled]=\"(canSave || rlNo!= null)\">添加备件</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button (click)=\"exportForm()\">导出表格</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form>\r\n<nz-table #entryRowTable nzBordered [nzData]=\"listOfData\" [nzLoading]=\"loading\">\r\n    <thead>\r\n        <tr>\r\n            <th>备件名称</th>\r\n            <th *ngIf='rlNo != null'>申请数量</th>\r\n            <th>出库数量</th>\r\n            <th>单位</th>\r\n            <th *ngIf='no == null'>当前库存</th>\r\n            <th>备注</th>\r\n            <th *ngIf='rlNo == null'>操作</th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr *ngFor=\"let data of entryRowTable.data\" class=\"editable-row\">\r\n            <td>{{ data.spName }}</td>\r\n            <td *ngIf='rlNo != null'>{{data.requireAmount}}</td>\r\n            <td>\r\n                <div class=\"editable-cell\" [hidden]=\"editId === data.spNo\" (click)=\"startEdit(data.spNo)\">\r\n                    <span *ngIf='data.amount == 0 || data.amount > data.stocks'>\r\n                        <font color='red'>{{data.amount}}</font>\r\n                    </span>\r\n                    <span *ngIf='data.amount != 0 && data.amount <= data.stocks'>\r\n                        {{data.amount}}\r\n                    </span>\r\n                </div>\r\n                <input [hidden]=\"editId !== data.spNo\" type=\"number\" nz-input [(ngModel)]=\"data.amount\"\r\n                    [disabled]=\"canSave\" (blur)=\"stopEdit(data)\" />\r\n            </td>\r\n            <td>{{ data.unit }}</td>\r\n            <td *ngIf='no == null'>{{data.stocks}}</td>\r\n            <td><input type=\"text\" nz-input [(ngModel)]=\"data.desc\" placeholder=\"50字内\" [disabled]=\"canSave\" /></td>\r\n            <td *ngIf='rlNo == null'>\r\n                <!-- *ngIf='rlNo == null' -->\r\n                <span *ngIf='!canSave'>\r\n                    <a nz-popconfirm nzPopconfirmTitle=\"是否删除?\" (click)=\"deleteRows(data.spNo)\">删除</a>\r\n                </span>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<br>\r\n<nz-textarea-count [nzMaxCharacterCount]=\"100\">\r\n    <textarea rows=\"4\" nz-input [(ngModel)]=\"outDescription\" placeholder=\"备注信息...100字内\" [disabled]=\"canSave\"></textarea>\r\n</nz-textarea-count>\r\n<br>\r\n<div class=\"pull-right\">\r\n    <button nz-button nzType=\"primary\" (click)=\"saveOutData()\" [nzLoading]=\"uploading\" [disabled]=\"canSave\">创建</button>\r\n    &nbsp;\r\n    <button nz-button (click)=\"cancleEntryData()\">取消</button>\r\n</div>\r\n<br>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{float:right!important}.editable-cell{position:relative;padding:1px;cursor:pointer}.editable-row:hover .editable-cell{border:1px solid #d9d9d9;border-radius:4px;padding:1px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"outTypes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"no":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"typeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"receiver":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"rlNo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":35,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":36,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":37,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initEntryNo":[{"__symbolic":"method"}],"queryTakeSpareDetailData":[{"__symbolic":"method"}],"addSpare":[{"__symbolic":"method"}],"queryEntryDetailData":[{"__symbolic":"method"}],"exportForm":[{"__symbolic":"method"}],"deleteRows":[{"__symbolic":"method"}],"startEdit":[{"__symbolic":"method"}],"stopEdit":[{"__symbolic":"method"}],"saveOutData":[{"__symbolic":"method"}],"saveOutDataInfo":[{"__symbolic":"method"}],"cancleEntryData":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}]}},"ɵbd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":10,"character":33}]}],"queryStockData":[{"__symbolic":"method"}],"deleteStockData":[{"__symbolic":"method"}],"queryEnrtryData":[{"__symbolic":"method"}],"queryOutData":[{"__symbolic":"method"}],"queryTakeSparesData":[{"__symbolic":"method"}],"queryEntryOutType":[{"__symbolic":"method"}],"queryUserList":[{"__symbolic":"method"}],"queryUnitData":[{"__symbolic":"method"}],"querySparePartsData":[{"__symbolic":"method"}],"deleteSparePartsData":[{"__symbolic":"method"}],"editSparePartsData":[{"__symbolic":"method"}],"saveSparePartsData":[{"__symbolic":"method"}],"queryEntryDetailData":[{"__symbolic":"method"}],"queryOutDetailData":[{"__symbolic":"method"}],"queryTakeSpareDetailData":[{"__symbolic":"method"}],"uploadSparePartsData":[{"__symbolic":"method"}],"uploadOutSparePartsData":[{"__symbolic":"method"}],"uploadTakeSparePartsData":[{"__symbolic":"method"}],"deleteEntryData":[{"__symbolic":"method"}],"deleteOutData":[{"__symbolic":"method"}],"deleteTakeSparesData":[{"__symbolic":"method"}],"getStockBySpno":[{"__symbolic":"method"}],"getSparePartsCostBySkill":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-tool-detail","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"7\">\r\n            <nz-form-label>工具名称（必填）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"toolName\" placeholder=\"名称...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item nz-col nzSpan=\"8\">\r\n            <nz-form-label>工具类型（必填）</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"toolType\"\r\n                    nzPlaceHolder=\"类型...\">\r\n                    <nz-option *ngFor=\"let item of toolType\" [nzLabel]=\"item.skillName\" [nzValue]=\"item.skillId\">\r\n                    </nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item nz-col nzSpan=\"7\">\r\n            <nz-form-label>型号/规格</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"toolModel\" placeholder=\"型号/规格...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"7\">\r\n            <nz-form-label>购买时间（必填）</nz-form-label>\r\n            <nz-form-control>\r\n                <nz-date-picker class=\"propertyInput\" nzDropdownClassName=\"date_calendar\" formControlName=\"toolBuyTime\">\r\n                </nz-date-picker>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item nz-col nzSpan=\"8\">\r\n            <nz-form-label>数量（必填）</nz-form-label>\r\n            <nz-form-control>\r\n                <input nz-input formControlName=\"toolCount\" placeholder=\"数量...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item nz-col nzSpan=\"7\">\r\n            <nz-form-label>单位</nz-form-label>\r\n            <nz-form-control>\r\n                <input nz-input formControlName=\"toolUnit\" placeholder=\"单位...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"8\">\r\n            <nz-form-label>责任人（必填）</nz-form-label>\r\n            <nz-form-control>\r\n                <input class=\"propertyInput\" nz-input formControlName=\"toolUser\" placeholder=\"使用人...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item nz-col nzSpan=\"8\">\r\n            <nz-form-label>电话号码</nz-form-label>\r\n            <nz-form-control>\r\n                <input nz-input formControlName=\"userPhoneNumber\" placeholder=\"电话号码...\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n            <nz-form-label>描述</nz-form-label>\r\n            <nz-form-control>\r\n                <textarea class=\"textAreaInput\" rows=\"4\" nz-input formControlName=\"toolDescription\"\r\n                    placeholder=\"描述...\"></textarea>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div *ngIf=\"isModifyDetail\">\r\n        <nz-divider></nz-divider>\r\n        <div nz-row>\r\n            <nz-form-item nz-col nzSpan=\"7\">\r\n                <nz-form-label>状态</nz-form-label>\r\n                <nz-form-control>\r\n                    <nz-select class=\"propertyInput\" nzShowSearch nzAllowClear formControlName=\"toolStatus\"\r\n                        nzPlaceHolder=\"状态...\">\r\n                        <nz-option *ngFor=\"let item of toolStatus\" [nzLabel]=\"item.dictLabel\"\r\n                            [nzValue]=\"item.dictValue\"></nz-option>\r\n                    </nz-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div nz-row>\r\n            <nz-form-item nz-col nzSpan=\"24\">\r\n                <nz-form-label>变动记录</nz-form-label>\r\n                <nz-form-control>\r\n                    <textarea class=\"textAreaInput\" rows=\"2\" nz-input formControlName=\"toolTrack\"\r\n                        placeholder=\"变动...\"></textarea>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </div>\r\n    <nz-divider></nz-divider>\r\n    <div class=\"box-col-width\">\r\n        <nz-form-item nz-col nzSpan=\"2\" nzOffset=\"10\" class=\"col-item-style\">\r\n            <nz-form-control [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"submitFormData()\"\r\n                    [acl]=\"{ ability: ['oms:facility:toolManager:edit', 'oms:facility:toolManager:traceadd'], mode: 'oneOf' }\">确定</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item *ngIf=\"!isModifyDetail\" class=\"col-item-style\">\r\n            <nz-form-control [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        <nz-form-item *ngIf=\"isModifyDetail\" class=\"col-item-style\">\r\n            <nz-form-control [nzOffset]=\"null\">\r\n                <button nz-button (click)=\"activeForm()\" acl [acl-ability]=\"'oms:facility:toolManager:edit'\">编辑</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form>","styles":["html.blue :host .propertyInput{width:175px}html.blue :host .textAreaInput{width:600px}html.blue :host .box-col-width{width:100%}html.blue :host .col-item-style{float:right}html.dark :host .propertyInput{width:175px}html.dark :host .textAreaInput{width:600px}html.dark :host .box-col-width{width:100%}html.dark :host .col-item-style{float:right}html.light :host .propertyInput{width:175px}html.light :host .textAreaInput{width:600px}html.light :host .box-col-width{width:100%}html.light :host .col-item-style{float:right}"]}]}],"members":{"operateToolFlag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"currentTool":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":28,"character":26},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":31,"character":20},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":32,"character":19},{"__symbolic":"reference","name":"ɵd"}]}],"ngOnInit":[{"__symbolic":"method"}],"submitFormData":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"activeForm":[{"__symbolic":"method"}],"okForm":[{"__symbolic":"method"}],"getToolType":[{"__symbolic":"method"}],"getToolStatus":[{"__symbolic":"method"}],"checkFormChanged":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵbf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":12,"character":34}]}],"addTool":[{"__symbolic":"method"}],"batchAddTools":[{"__symbolic":"method"}],"updateTool":[{"__symbolic":"method"}],"getToolTypeList":[{"__symbolic":"method"}],"getToolStatusList":[{"__symbolic":"method"}],"getAllToolNames":[{"__symbolic":"method"}],"getAllToolsListByCondition":[{"__symbolic":"method"}],"getToolsListByCondition":[{"__symbolic":"method"}],"getAllTools":[{"__symbolic":"method"}],"getToolsByStatusAndType":[{"__symbolic":"method"}],"deleteTool":[{"__symbolic":"method"}],"deleteToolBatch":[{"__symbolic":"method"}],"getToolTraces":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbg":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"StateToken","line":4,"character":37},"arguments":["ToolSearch"]},"ɵbh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":6,"character":1},"arguments":[{"name":{"__symbolic":"reference","name":"ɵbg"},"defaults":[]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"set":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":12,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵbi"}]}]}]}},"ɵbi":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"type":"[ToolSearch] set"}},"ɵbj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-tool-trace","template":"<cdk-virtual-scroll-viewport itemSize=\"24\" class=\"infinite-scroll-container\">\r\n    <nz-list *ngIf=\"traces != null; else elseBlock;\" [nzDataSource]=\"traces\" [nzFooter]=\"null\"\r\n        [nzRenderItem]=\"defaultItem\">\r\n        <ng-template #defaultItem let-item>\r\n            <nz-list-item>\r\n                <div nz-row style=\"width: 100%;\">\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <b nz-col nzSpan=\"7\">{{item.traceTime | date:'yyyy-MM-dd HH:mm:ss'}}</b>\r\n                        <!-- <div nz-col nzSpan=\"12\"> {{ item.traceDesc }}</div>\r\n                        <div nz-col nzSpan=\"5\"> 操作员：{{ item.reporterName }}</div> -->\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <div nz-col nzSpan=\"24\"> {{ item.traceDesc }}</div>\r\n                    </div>\r\n                    <div nz-row style=\"width: 100%;\">\r\n                        <b nz-col nzSpan=\"5\" nzOffset=\"19\"> 操作员：{{ item.reporterName }}</b>\r\n                    </div>\r\n                </div>\r\n            </nz-list-item>\r\n        </ng-template>\r\n    </nz-list>\r\n</cdk-virtual-scroll-viewport>\r\n<ng-template #elseBlock>\r\n    <nz-empty></nz-empty>\r\n</ng-template>","styles":[".infinite-scroll-container{height:450px;border-radius:4px}"]}]}],"members":{"currentTool":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵbf"}]}],"ngOnInit":[{"__symbolic":"method"}],"queryTraceData":[{"__symbolic":"method"}]}},"ɵbk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-tool-manager","template":"<div class=\"div-bgcolor\">\r\n    <div class=\"tool-search\">\r\n        <app-tool-search></app-tool-search>\r\n    </div>\r\n    <div class=\"tool-tab\">\r\n        <app-tool-table [code]=\"code\"></app-tool-table>\r\n    </div>\r\n</div>","styles":["html.blue :host{padding:24px;background:linear-gradient(to bottom right,#010b43,#01106c)}html.blue :host .div-bgcolor{background:linear-gradient(to bottom right,#00127a,#000b40)}html.blue :host .div-bgcolor .tool-search{padding:12px 24px;background-color:transparent}html.blue :host .div-bgcolor .tool-tab{padding:8px 24px 24px;margin-top:16px;background-color:transparent}html.blue :host ::ng-deep .ant-table{background-color:transparent}html.dark :host{padding:24px}html.dark :host,html.dark :host .div-bgcolor{background:#2a2c2c}html.dark :host .div-bgcolor .tool-search{padding:12px 24px;background-color:#242525}html.dark :host .div-bgcolor .tool-tab{padding:8px 24px 24px;margin-top:16px;background-color:#242525}html.dark :host ::ng-deep .ant-table{background-color:transparent}html.light :host{padding:24px}html.light :host,html.light :host .div-bgcolor{background:#f0f2f5}html.light :host .div-bgcolor .tool-search{padding:12px 24px;background-color:#fff}html.light :host .div-bgcolor .tool-tab{padding:8px 24px 24px;margin-top:16px;background-color:#fff}html.light :host ::ng-deep .ant-table{background-color:transparent}:host{padding:24px;min-height:100%;display:block}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-job-evaluate","template":"<form nz-form>\r\n    <nz-form-item  [hidden]=\"code == 2\">\r\n      <nz-form-label>管理员评价描述</nz-form-label>\r\n      <textarea rows=\"3\" nz-input maxlength=\"1024\" [(ngModel)]=\"adminDesc\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"code == 0\"></textarea>\r\n\r\n      <nz-form-label>及时性星级评价</nz-form-label>\r\n        <nz-rate nzCount = 10 [(ngModel)]=\"adminStar\" [ngModelOptions]=\"{standalone: true}\" [nzDisabled]=\"code == 0\"></nz-rate>\r\n      <nz-form-label>维修质量星级评价</nz-form-label>\r\n        <nz-rate nzCount = 10 [(ngModel)]=\"adminQualityStar\" [ngModelOptions]=\"{standalone: true}\" [nzDisabled]=\"code == 0\"></nz-rate>\r\n      <nz-form-label>服务态度星级评价</nz-form-label>\r\n        <nz-rate nzCount = 10 [(ngModel)]=\"adminAttitudeStar\" [ngModelOptions]=\"{standalone: true}\" [nzDisabled]=\"code == 0\"></nz-rate>\r\n    </nz-form-item>\r\n    <nz-divider [hidden]=\"code == 1 || code == 2\"></nz-divider>\r\n    <nz-form-item [hidden]=\"code == 1\">\r\n      <nz-form-label>报修员评价描述</nz-form-label>\r\n      <textarea rows=\"3\" nz-input maxlength=\"1024\" [(ngModel)]=\"callerDesc\" [ngModelOptions]=\"{standalone: true}\" [disabled]=\"code == 2 ? false : true\"></textarea>\r\n\r\n      <nz-form-label>及时性星级评价</nz-form-label>\r\n        <nz-rate nzCount = 10 [(ngModel)]=\"callerStar\" [ngModelOptions]=\"{standalone: true}\" [nzDisabled]=\"code == 2 ? false : true\"></nz-rate>\r\n      <nz-form-label>维修质量星级</nz-form-label>\r\n        <nz-rate nzCount = 10 [(ngModel)]=\"callerQualityStar\" [ngModelOptions]=\"{standalone: true}\" [nzDisabled]=\"code == 2 ? false : true\"></nz-rate>\r\n      <nz-form-label>服务态度星级</nz-form-label>\r\n        <nz-rate nzCount = 10 [(ngModel)]=\"callerAttitudeStar\" [ngModelOptions]=\"{standalone: true}\" [nzDisabled]=\"code == 2 ? false : true\"></nz-rate>\r\n    </nz-form-item>\r\n</form>\r\n","styles":[""]}]}],"members":{"currentJob":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵbm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-job-verify","template":"<form nz-form>\r\n    <nz-form-item>\r\n      <nz-form-label>审核描述</nz-form-label>\r\n      <textarea rows=\"3\" nz-input maxlength=\"1024\" [(ngModel)]=\"verifyDesc\" [ngModelOptions]=\"{standalone: true}\" ></textarea>\r\n    </nz-form-item>\r\n</form>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-job-patrol-sheet","template":"<div nz-row [nzGutter]=\"16\">\r\n    <div nz-col class=\"gutter-row\" nzSpan=\"10\">\r\n        <cdk-virtual-scroll-viewport itemSize=\"73\" class=\"demo-infinite-container\">\r\n            <nz-list nzBordered>\r\n                <nz-list-item *cdkVirtualFor=\"let item of equipments\">\r\n                    <button style=\"width: 100%;\" nz-button [nzSize]=\"'large'\" nzType=\"default\" (click)=\"click(item)\">{{item.epName}}</button>\r\n                </nz-list-item>\r\n            </nz-list>\r\n        </cdk-virtual-scroll-viewport>\r\n    </div>\r\n    <div nz-col class=\"gutter-row\" nzSpan=\"14\" style=\"box-sizing: border-box;\">\r\n        <div class=\"gutter-row-div\">\r\n        <app-patrol-control-preview [controls]=\"controls\" [equipment]=\"equipment\" [formDisabled] = \"formDisabled\" [jobId] = \"jobId\" [groupId] =\"groupId\" [epNo] =\"equipment.epNo\"></app-patrol-control-preview>\r\n        <!-- <form nz-form [formGroup]=\"form\"  *ngFor=\"let question of questions\">\r\n            <app-dynamic-form-question [question]=\"question\" [code] = \"0\" [form]=\"form\" (nzDeleteVote)=\"deleteVote($event)\"></app-dynamic-form-question>  \r\n        </form> -->\r\n        </div>\r\n    </div>\r\n</div>","styles":["html.blue :host .gutter-row .demo-infinite-container{height:600px;border-radius:4px}html.blue :host .gutter-row .gutter-row-div{background:#162975;height:600px;overflow:auto}html.blue :host ::ng-deep .ant-list-items{background-color:#373f5e}html.blue :host ::ng-deep .ant-btn-lg{background:#023b86}html.dark :host .gutter-row .demo-infinite-container{height:600px;border-radius:4px}html.dark :host .gutter-row .gutter-row-div{background:#242525;height:600px;overflow:auto}html.dark :host ::ng-deep .ant-list-items{background-color:#242525}html.dark :host ::ng-deep .ant-btn-lg{background:#242525}html.light :host .gutter-row .demo-infinite-container{height:600px;border-radius:4px}html.light :host .gutter-row .gutter-row-div{background:#f0f2f5;height:600px;overflow:auto}html.light :host ::ng-deep .ant-list-items{background-color:#f0f2f5}html.light :host ::ng-deep .ant-btn-lg{background:#fff}"]}]}],"members":{"groupId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"jobId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"formDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":22,"character":16},{"__symbolic":"reference","name":"ɵc"}]}],"ngOnInit":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵbo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-spare-list","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\">备件名称</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <nz-input-group [nzSuffix]=\"inputClearTpl\">\r\n                <input nz-input formControlName=\"spareName\" />\r\n            </nz-input-group>\r\n            <ng-template #inputClearTpl>\r\n                <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\" *ngIf=\"validateForm.value.spareName\" (click)=\"validateForm.setValue({'spareName':null,'typeId':validateForm.value.typeId})\"></i>\r\n            </ng-template>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\"> 备件类型</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"全部\" formControlName=\"typeId\">\r\n                <nz-option *ngFor=\"let item of spareTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\"></nz-option>\r\n            </nz-select>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" acl [acl-ability]=\"'oms:facility:SparePartsManagement:query'\">查询</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"addSpareParts()\">新增</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n</form>\r\n<div style=\"height: 3px;\"></div>\r\n<nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" [nzLoading]=\"loading\" nzFrontPagination=\"false\"\r\n    (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\" [nzScroll]=\"{ y: '400px' }\">\r\n    <thead>\r\n        <tr>\r\n            <th *ngIf=\"code == 1\" nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\" (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"25px\"></th>\r\n            <th nzWidth=\"65px\">序号</th>\r\n            <th>名称</th>\r\n            <th>类型</th>\r\n            <th nzWidth=\"60px\">单位</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 stockTable.data ;let i = index\">\r\n            <td *ngIf=\"code == 1\" nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(data.spNo)\" (nzCheckedChange)=\"onItemChecked(data, $event)\">\r\n            </td>\r\n            <td>{{ startRow+i }}</td>\r\n            <td>{{ data.spName }}</td>\r\n            <td>{{ data.tName }}</td>\r\n            <td>{{ data.unit }}</td>\r\n            <td>{{ data.price }}</td>\r\n            <td>{{ data.spec }}</td>\r\n            <td>{{ data.amount }}</td>\r\n            <td><a (click)=\"editData(data)\">修改</a>\r\n                <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a class=\"btn-batch-del\" (click)=\"deleteData(data)\">删除</a>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<div class=\"pull-right\">\r\n    <button nz-button nzType=\"primary\" (click)=\"saveEntryData()\">确定</button> &nbsp;\r\n    <button nz-button (click)=\"cancleEntryData()\">取消</button>\r\n</div>\r\n<br>","styles":["html.blue :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#023b86}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#1d1d1d}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700;background-color:#e8e8e8}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{float:right!important}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":31,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":32,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":33,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":34,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":35,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"querySpareData":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"onCurrentPageDataChange":[{"__symbolic":"method"}],"saveEntryData":[{"__symbolic":"method"}],"cancleEntryData":[{"__symbolic":"method"}],"addSpareParts":[{"__symbolic":"method"}],"editData":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}]}},"ɵbp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-spare-info","template":"<div>\r\n    <form nz-form [formGroup]=\"validateForm\">\r\n        <div style=\"display: flex;\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'>*备件名称</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"spName\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'> *备件类型</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"tid\">\r\n                        <nz-option *ngFor=\"let item of spareTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </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;\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'>*备件单价</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"price\" [type]=\"'number'\" [placeholder]=\"'0'\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'> *备件单位</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"unit\">\r\n                        <nz-option *ngFor=\"let item of unitTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </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;\">\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'>*备件规格</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"spec\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp; &nbsp;\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">\r\n                    <font color='red'>*安全库存</font>\r\n                </nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input class=\"spare-info\" nz-input formControlName=\"safetyStock\" [type]=\"'number'\" [placeholder]=\"'0'\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div style=\"display: flex;float: right;margin-top: -20px;\">\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"null\" [nzLoading]=\"uploading\" (click)=\"saveSparePartsData()\" [disabled]=\"validateForm.invalid\">保存</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            &nbsp;&nbsp;\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button (click)=\"cancleData()\" [nzLoading]=\"uploading\">取消</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </form>\r\n</div>","styles":[":host{display:block;margin-bottom:10px}nz-select{width:150px}.spare-info{width:100px}nz-tree-select{width:240px}.pull-right{float:right!important}.editable-cell{position:relative;padding:1px;cursor:pointer}.editable-row:hover .editable-cell{border:1px solid #d9d9d9;border-radius:4px;padding:1px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}"]}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":22,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":23,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":24,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":25,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":26,"character":20},{"__symbolic":"reference","name":"ɵbd"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"initUnitType":[{"__symbolic":"method"}],"saveSparePartsData":[{"__symbolic":"method"}],"cancleData":[{"__symbolic":"method"}]}},"ɵbq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-facility-group","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <nz-form-item>\r\n        <nz-form-label [nzSpan]=\"null\">巡检组名称</nz-form-label>\r\n        <nz-form-control [nzSpan]=\"null\">\r\n            <nz-input-group>\r\n                <input nz-input formControlName=\"groupName\" />\r\n            </nz-input-group>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n        <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n            <button nz-button nzType=\"primary\" (click)=\"addGroup()\">新增</button>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n</form>\r\n<div style=\"height: 3px;\"></div>\r\n<!-- <nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\"\r\n    [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\"\r\n    [nzLoading]=\"loading\" nzFrontPagination=\"false\" (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\"\r\n    [nzScroll]=\"{ y: '400px' }\"> -->\r\n<nz-table #stockTable nzShowPagination [nzShowSizeChanger]=\"false\" [nzData]=\"listOfData\" [nzTotal]=\"total\"\r\n    [(nzPageSize)]=\"pageSize\" [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\"\r\n    [nzLoading]=\"loading\" nzFrontPagination=\"false\" (nzCurrentPageDataChange)=\"onCurrentPageDataChange($event)\"\r\n    >\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 stockTable.data ;let i = index\">\r\n            <!-- <td>{{ startRow+i }}</td> -->\r\n            <td>{{ data.groupId }}</td>\r\n            <td>{{ data.groupName }}</td>\r\n            <td>{{ data.groupType == null ? '' : groupType[ data.groupType].label }}</td>\r\n            <td>\r\n                <a (click)=\"groupBIMData(data)\">BIM</a>\r\n                <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a (click)=\"groupData(data)\">编辑</a>\r\n                <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a (click)=\"editData(data)\">修改</a>\r\n                <nz-divider nzType=\"vertical\"></nz-divider>\r\n                <a (click)=\"deleteData(data)\" class=\"btn-batch-del\">删除</a>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":32,"character":16},{"__symbolic":"reference","name":"ɵbr"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":34,"character":20},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":35,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"queryGroupListData":[{"__symbolic":"method"}],"addGroup":[{"__symbolic":"method"}],"groupBIMData":[{"__symbolic":"method"}],"groupData":[{"__symbolic":"method"}],"editData":[{"__symbolic":"method"}],"deleteData":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"onCurrentPageDataChange":[{"__symbolic":"method"}]}},"ɵbr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":13,"character":34}]}],"getGroupsByFilterString":[{"__symbolic":"method"}],"getGroups":[{"__symbolic":"method"}],"queryGroupDataByCondition":[{"__symbolic":"method"}],"getAllItemsFromGroup":[{"__symbolic":"method"}],"addGroup":[{"__symbolic":"method"}],"editGroup":[{"__symbolic":"method"}],"deleteGroup":[{"__symbolic":"method"}],"queryGroupByName":[{"__symbolic":"method"}],"queryGroupById":[{"__symbolic":"method"}],"updateItemsInGroup":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"app-budget-detail-item","template":"<form nz-form [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n        <div nz-col [nzSpan]=\"8\" >\r\n            <nz-form-item>\r\n                <nz-form-label  nzSpan=9 nzRequired>名称</nz-form-label>\r\n                <nz-form-control nzSpan=15>\r\n                    <input nz-input formControlName=\"bdname\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\" >\r\n            <nz-form-item>\r\n                <nz-form-label nzSpan=9 nzRequired>金额/元</nz-form-label>\r\n                <nz-form-control nzSpan=15>\r\n                    <nz-input-number style = \"width: 100%;\" [nzFormatter]=\"formatter\" formControlName=\"initValue\" [nzMin]=\"0\" [nzStep]=\"1\"></nz-input-number>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"8\" >\r\n            <nz-form-item>\r\n                <nz-form-label nzSpan=9 nzRequired>类型</nz-form-label>\r\n                <nz-form-control [nzTooltipTitle]=\"typeTemp\" nzTooltipPlacement=\"bottomLeft\" nz-tooltip nzSpan=15>\r\n                    <nz-tree-select #costTypeTreeSelect \r\n                        nzVirtualHeight=\"300px\"\r\n                        formControlName=\"costTypeId\" \r\n                        [nzNodes]=\"costTypes\" \r\n                        nzShowSearch\r\n                        nzPlaceHolder=\"请选择\" \r\n                        (ngModelChange)=\"treeSelectChanged($event)\"  [(ngModel)]=\"jobTypeSelected\">\r\n                    </nz-tree-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 nzSpan=3>备注</nz-form-label>\r\n                <nz-form-control>\r\n                    <textarea nzSpan=21\r\n                     rows=\"3\" nz-input formControlName=\"mark\" placeholder=\"备注...\"></textarea>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </div>\r\n</form>\r\n\r\n<!--业务类型提示框-->\r\n<ng-template #typeTemp>\r\n    <span>{{typeTooltip}}</span>\r\n  </ng-template>","styles":[""]}]}],"members":{"costTypeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":3},"arguments":["costTypeTreeSelect"]}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"bdid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"LOCALE_ID","line":39,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":36,"character":16},{"__symbolic":"reference","name":"ɵbt"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"string"}]}],"ngOnInit":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"initCostTypeTree":[{"__symbolic":"method"}],"treeSelectChanged":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"fillTypeTooltip":[{"__symbolic":"method"}],"getbudgetDetailForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵbt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":8,"character":34}]}],"getCostTypeAll":[{"__symbolic":"method"}],"getBudgetDetailListByCondition":[{"__symbolic":"method"}],"getBudgetDetail":[{"__symbolic":"method"}],"batchDelete":[{"__symbolic":"method"}],"updateBudgetDetail":[{"__symbolic":"method"}],"addBudgetDetail":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":10,"character":34}]}],"getBudgetListByCondition":[{"__symbolic":"method"}],"getBudget":[{"__symbolic":"method"}],"getBudgetWithPrice":[{"__symbolic":"method"}],"getBudgetsByBids":[{"__symbolic":"method"}],"batchDelete":[{"__symbolic":"method"}],"updateBudget":[{"__symbolic":"method"}],"updateBudgetDetails":[{"__symbolic":"method"}],"addBudget":[{"__symbolic":"method"}],"getBudgetStatus":[{"__symbolic":"method"}],"getBudgetMonthsByBid":[{"__symbolic":"method"}],"deleteByMbid":[{"__symbolic":"method"}],"addBudgetMonth":[{"__symbolic":"method"}],"updateBudgetMonth":[{"__symbolic":"method"}],"getBudgetMonthByMbid":[{"__symbolic":"method"}],"getMonthsDetailsByBid":[{"__symbolic":"method"}],"getAllBudget":[{"__symbolic":"method"}],"monthBudgetStatistics":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-entry-detail","template":"<!-- <form nz-form [formGroup]=\"validateForm\">\r\n    <div style=\"display: flex;\">\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                <font color='red'>*入库单号</font>\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"entryNo\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp; &nbsp;\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                <font color='red'> *入库类型</font>\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <nz-select nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"typeId\">\r\n                    <nz-option *ngFor=\"let item of entryTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                    </nz-option>\r\n                </nz-select>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp; &nbsp;\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                送货人\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <input nz-input formControlName=\"deliver\" />\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp; &nbsp;\r\n        <nz-form-item>\r\n            <nz-form-label [nzSpan]=\"null\">\r\n                合同编号\r\n            </nz-form-label>\r\n            <nz-form-control [nzSpan]=\"null\">\r\n                <nz-select style=\"width:150px\" nzShowSearch formControlName=\"contractNo\">\r\n                    <nz-option nzCustomContent  *ngFor=\"let d of contracts\" [nzValue]=\"d.pno\" [nzLabel]=\"d.contractNo\">\r\n                        {{d.contractNo + ' ' + d.contractName}}\r\n                    </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;\">\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button nzType=\"primary\" (click)=\"addSpare()\" [disabled]=\"canSave\">添加备件</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n        &nbsp;&nbsp;\r\n        <nz-form-item>\r\n            <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                <button nz-button (click)=\"exportForm()\">导出表格</button>\r\n            </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n</form> -->\r\n<form nz-form [formGroup]=\"validateForm\" class=\"ant-advanced-search-form\">\r\n    <div nz-row [nzGutter]=\"24\">\r\n        <div nz-col [nzSpan]=\"6\">\r\n            <nz-form-item>\r\n                <nz-form-label>\r\n                    <font color='red'>*入库单号</font>\r\n                </nz-form-label>\r\n                <nz-form-control>\r\n                    <input nz-input formControlName=\"entryNo\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"6\">\r\n            <nz-form-item>\r\n                <nz-form-label>\r\n                    <font color='red'> *入库类型</font>\r\n                </nz-form-label>\r\n                <nz-form-control>\r\n                    <nz-select style=\"width: 145px;\" nzShowSearch nzAllowClear nzPlaceHolder=\"请选择\" formControlName=\"typeId\">\r\n                        <nz-option *ngFor=\"let item of entryTypes\" [nzLabel]=\"item.title\" [nzValue]=\"item.value\">\r\n                        </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]=\"6\">\r\n            <nz-form-item>\r\n                <nz-form-label>\r\n                    送货人\r\n                </nz-form-label>\r\n                <nz-form-control>\r\n                    <input nz-input formControlName=\"deliver\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n        <div nz-col [nzSpan]=\"6\">\r\n            <nz-form-item>\r\n                <nz-form-label>\r\n                    合同编号\r\n                </nz-form-label>\r\n                <nz-form-control>\r\n                    <nz-select style=\"width: 145px;\" nzShowSearch formControlName=\"cid\">\r\n                        <nz-option nzCustomContent  *ngFor=\"let d of contracts\" [nzValue]=\"d.contractNo\" [nzLabel]=\"d.contractNo\">\r\n                            {{d.contractNo + ' ' + d.contractName}}\r\n                        </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 style=\"margin-bottom: 6px;\">\r\n        <button nz-button nzType=\"primary\" (click)=\"addSpare()\" [disabled]=\"canSave\">添加备件</button>\r\n        <button style=\"margin-left: 8px;\" nz-button nzType=\"primary\" (click)=\"createSparesImportModal(tplTitle, tplContent, tplFooter)\" [disabled]=\"canSave\">导入</button>\r\n        <button style=\"margin-left: 8px;\" nz-button (click)=\"exportForm()\">导出表格</button>\r\n    </div>\r\n  </form>\r\n<nz-table #entryRowTable nzBordered [nzData]=\"listOfData\" [nzLoading]=\"loading\">\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            <th>备注</th>\r\n            <th>操作</th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr *ngFor=\"let data of entryRowTable.data\" class=\"editable-row\">\r\n            <td>{{ data.spName }}</td>\r\n            <td>\r\n                <div class=\"editable-cell\" [hidden]=\"editId === data.spNo\" (click)=\"startEdit(data.spNo)\">\r\n                    <span *ngIf='data.amount == 0'>\r\n                        <font color='red'>{{data.amount}}</font>\r\n                    </span>\r\n                    <span *ngIf='data.amount != 0'>\r\n                        {{data.amount}}\r\n                    </span>\r\n                </div>\r\n                <input [hidden]=\"editId !== data.spNo\" type=\"number\" nz-input [(ngModel)]=\"data.amount\"\r\n                    [disabled]=\"canSave\" (blur)=\"stopEdit(data)\" />\r\n            </td>\r\n            <td>{{ data.unit }}</td>\r\n            <!-- <td>{{ data.price }}</td> -->\r\n            <td>\r\n                <nz-input-number\r\n                    [(ngModel)]=\"data.price\"\r\n                    [nzMin]=\"0\"\r\n                    [nzStep]=\"1\"\r\n                    [disabled]=\"canSave\"\r\n                    (nzBlur)=\"stopEdit(data)\"\r\n                ></nz-input-number>\r\n            </td>\r\n            <td> {{ data.total }}</td>\r\n            <td><input type=\"text\" nz-input [(ngModel)]=\"data.desc\" placeholder=\"50字内\" [disabled]=\"canSave\" /></td>\r\n            <td>\r\n                <span *ngIf='!canSave'>\r\n                    <a nz-popconfirm nzPopconfirmTitle=\"是否删除?\" (click)=\"deleteRow(data.spNo)\">删除</a>\r\n                </span>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<br>\r\n<div class=\"pull-right\">\r\n    <button nz-button nzType=\"primary\" (click)=\"saveEntryData()\" [nzLoading]=\"uploading\"\r\n        [disabled]=\"canSave\">创建</button>\r\n    &nbsp;\r\n    <button nz-button (click)=\"cancleEntryData()\">取消</button>\r\n</div>\r\n<br>\r\n<ng-template #tplTitle>\r\n    <span>导入备件</span>\r\n</ng-template>\r\n<ng-template #tplContent let-params let-ref=\"modalRef\">\r\n    <input type=\"file\" (change)=\"uploadSparesFile($event)\">\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n    <button nz-button nzType=\"default\" (click)=\"cancelSparesImport()\">取消</button>\r\n</ng-template>","styles":["html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}:host{display:block;margin-bottom:10px}nz-select{width:150px}nz-tree-select{width:240px}.pull-right{float:right!important}.editable-cell{position:relative;padding:1px;cursor:pointer}.editable-row:hover .editable-cell{border:1px solid #d9d9d9;border-radius:4px;padding:1px}.ant-form-item{box-sizing:border-box;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:\"tnum\";margin:0 0 6px;vertical-align:top}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100px}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"entryTypes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"no":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"typeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"shr":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"cid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":34,"character":16},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalRef","line":35,"character":22},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":36,"character":19},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":37,"character":20},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"ɵq"}]}],"ngOnInit":[{"__symbolic":"method"}],"initEntryNo":[{"__symbolic":"method"}],"addSpare":[{"__symbolic":"method"}],"createSparesImportModal":[{"__symbolic":"method"}],"cancelSparesImport":[{"__symbolic":"method"}],"uploadSparesFile":[{"__symbolic":"method"}],"queryEntryDetailData":[{"__symbolic":"method"}],"exportForm":[{"__symbolic":"method"}],"deleteRow":[{"__symbolic":"method"}],"startEdit":[{"__symbolic":"method"}],"stopEdit":[{"__symbolic":"method"}],"saveEntryData":[{"__symbolic":"method"}],"saveEntryDataInfo":[{"__symbolic":"method"}],"cancleEntryData":[{"__symbolic":"method"}]}},"ɵbw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-photo-swipe","template":"<!-- Root element of PhotoSwipe. Must have class pswp. -->\r\n<div class=\"pswp\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\r\n    <!-- Background of PhotoSwipe. \r\n         It's a separate element as animating opacity is faster than rgba(). -->\r\n    <div class=\"pswp__bg\"></div>\r\n    <!-- Slides wrapper with overflow:hidden. -->\r\n    <div class=\"pswp__scroll-wrap\">\r\n        <!-- Container that holds slides. \r\n            PhotoSwipe keeps only 3 of them in the DOM to save memory.\r\n            Don't modify these 3 pswp__item elements, data is added later on. -->\r\n        <div class=\"pswp__container\">\r\n            <div class=\"pswp__item\"></div>\r\n            <div class=\"pswp__item\"></div>\r\n            <div class=\"pswp__item\"></div>\r\n        </div>\r\n        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\r\n        <div class=\"pswp__ui pswp__ui--hidden\">\r\n            <div class=\"pswp__top-bar\">\r\n                <!--  Controls are self-explanatory. Order can be changed. -->\r\n                <div class=\"pswp__counter\"></div>\r\n                <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\r\n                <!-- <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button> -->\r\n                <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\r\n                <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\r\n                <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR -->\r\n                <!-- element will get class pswp__preloader--active when preloader is running -->\r\n                <div class=\"pswp__preloader\">\r\n                    <div class=\"pswp__preloader__icn\">\r\n                      <div class=\"pswp__preloader__cut\">\r\n                        <div class=\"pswp__preloader__donut\"></div>\r\n                      </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\r\n                <div class=\"pswp__share-tooltip\"></div> \r\n            </div>\r\n            <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\">\r\n            </button>\r\n            <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\">\r\n            </button>\r\n            <div class=\"pswp__caption\">\r\n                <div class=\"pswp__caption__center\"></div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":11,"character":26}]}],"ngOnInit":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"ɵbx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-bim-detail","template":"<div class=\"bim-div\">\r\n    <div id=\"bim-table\" class=\"bim-equipment\"></div>\r\n</div>","styles":["html.blue :host .bim-equipment{background:#101b47}html.dark :host .bim-equipment{background:#242525}html.light :host .bim-equipment{background:#fff}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"bimData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"showProperties":[{"__symbolic":"method"}]}},"ɵby":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-bim-equipment-detail","template":"<div class=\"equipment-div\">\r\n    <div id=\"bim-equipment-table\" class=\"bim-equipment\"></div>\r\n</div>\r\n","styles":["html.blue :host .bim-equipment{background:#101b47}html.dark :host .bim-equipment{background:#242525}html.light :host .bim-equipment{background:#fff}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"currentEquipment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"showProperties":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵbz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"app-bim-maintenace-detail","template":"<div class=\"maintenance-div\">\r\n    <div id=\"bim-maintenance-table\"></div>\r\n</div>\r\n","styles":["html.blue :host .table-bg{background:#101b47}html.dark :host .table-bg{background:#242525}html.light :host .table-bg{background:#fff}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"maintenanceList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"showProperties":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵca":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"app-state-alarm-detail","template":"<!-- <div class=\"state-alarm-div\">\r\n    <div id=\"state-alarm-table\"></div>\r\n</div> -->\r\n<!-- <nz-table #basicTable>\r\n    <thead>\r\n        <tr>\r\n            <th>状态信息</th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr>\r\n            <td>1</td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<nz-table #basicTable>\r\n    <thead>\r\n        <tr>\r\n            <th>警报信息</th>\r\n            <th></th>\r\n            <th></th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr>\r\n            <td>1</td>\r\n            <td>1</td>\r\n            <td><a style=\"float: right;margin-right: 17px;\">Delete</a></td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table> -->\r\n<nz-table #basicTableState [nzData]=\"listBmsState\" [nzPageSize]=\"pageSize\" nzPaginationType=\"small\">\r\n    <thead>\r\n        <tr>\r\n            <th nzAlign=\"center\">状态</th>\r\n            <th nzAlign=\"center\">类型</th>\r\n            <th nzAlign=\"center\">数值</th>\r\n            <th nzAlign=\"center\">说明</th>\r\n            <th nzAlign=\"center\">时间</th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr *ngFor=\"let data of basicTableState.data\">\r\n            <td>{{ data.desc }}</td>\r\n            <td>{{ data.type }}</td>\r\n            <td>{{ data.value }}{{ data.unit }}</td>\r\n            <td>{{ data.description }}</td>\r\n            <td>{{ data.time }}</td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>\r\n<nz-table #basicTableAlarm [nzData]=\"listHspAlarm\" [nzPageSize]=\"pageSize\" nzPaginationType=\"small\">\r\n    <thead>\r\n        <tr>\r\n            <th nzAlign=\"center\">警报名称</th>\r\n            <th nzAlign=\"center\">类型</th>\r\n            <th nzAlign=\"center\">级别</th>\r\n            <th nzAlign=\"center\">来源</th>\r\n            <th nzAlign=\"center\">状态</th>\r\n            <th nzAlign=\"center\">区域</th>\r\n            <th nzAlign=\"center\">位置</th>\r\n            <th nzAlign=\"center\">时间</th>\r\n            <th nzAlign=\"center\">操作</th>\r\n        </tr>\r\n    </thead>\r\n    <tbody>\r\n        <tr *ngFor=\"let data of basicTableAlarm.data\">\r\n            <td>{{ data.eventName }}</td>\r\n            <td>{{ data.srcType }}</td>\r\n            <td>{{ data.eventLevel }}</td>\r\n            <td>{{ data.srcName }}</td>\r\n            <td>{{ data.statusStr }}</td>\r\n            <td>{{ data.regionName }}</td>\r\n            <td>{{ data.address }}</td>\r\n            <td>{{ data.happenTimeStr }}</td>\r\n            <td>\r\n                <a (click)=\"report(data)\">上报</a>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</nz-table>","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":14,"character":26},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":16,"character":20}]}],"stateAndAlarm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"equipmentNo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"equipmentName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"showProperties":[{"__symbolic":"method"}],"checkEmpty":[{"__symbolic":"method"}],"currentDateFormat":[{"__symbolic":"method"}],"report":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵcb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"app-job-repair-apply","template":"<form nz-form [formGroup]=\"validateForm\" (ngSubmit)=\"submitForm()\">\r\n    <nz-form-item>\r\n      <!-- <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\">是否为设备</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n        <nz-switch formControlName =\"isDevice\" nzCheckedChildren=\"是\" nzUnCheckedChildren=\"否\"></nz-switch>\r\n      </nz-form-control> -->\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\">报修类型</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n        <nz-radio-group formControlName =\"deviceType\" (ngModelChange)=\"onModelChangeType($event)\">\r\n          <label nz-radio nzValue=\"equipment\">设备</label>\r\n          <label nz-radio nzValue=\"area\">区域</label>\r\n          <label nz-radio nzValue=\"other\">其他</label>\r\n        </nz-radio-group>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item *ngIf=\"this.validateForm.get('deviceType').value !='other'\">\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" [nzRequired]=\"this.validateForm.get('deviceType').value != 'other'\">{{this.validateForm.get('deviceType').value != 'area'?'设备编号':'区域编号'}}</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n          <nz-select\r\n              nzShowSearch\r\n              nzServerSearch\r\n              [nzPlaceHolder]=\"this.validateForm.get('deviceType').value != 'area'?'搜索设备':'搜索区域'\"\r\n              formControlName=\"epNo\"\r\n              [nzShowArrow]=\"false\"\r\n              [nzFilterOption]=\"nzFilterOption\"\r\n              (nzOnSearch)=\"search($event)\"\r\n              (ngModelChange) = \"nzmodelChange($event)\"\r\n          >\r\n              <nz-option *ngFor=\"let o of equipments\" [nzLabel]=\"o.value\" [nzValue]=\"o.value\"></nz-option>\r\n          </nz-select>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item *ngIf=\"this.validateForm.get('deviceType').value != 'other'\">\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\">{{this.validateForm.get('deviceType').value != 'area'?'设备名称':'区域名称'}}</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n        <input nz-input formControlName=\"epName\" />\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>位置选择</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\" >\r\n        <nz-tree-select formControlName=\"location\" [nzNodes]=\"jobLocations\" nzShowSearch nz-size =\"large\"\r\n            nzPlaceHolder=\"请选择\">\r\n        </nz-tree-select>\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>业务类型</nz-form-label>\r\n        <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n            <nz-tree-select #typeTreeSelect formControlName=\"jtNo\" [nzNodes]=\"jobTypes\" nzShowSearch nz-size =\"large\"\r\n                nzPlaceHolder=\"请选择\" (ngModelChange)=\"treeSelectChanged($event)\">\r\n            </nz-tree-select>\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>问题描述</nz-form-label>\r\n        <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n            <textarea rows=\"2\" nz-input formControlName=\"mark\" maxlength=\"1024\"></textarea>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n\r\n    <nz-form-item>\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\" nzRequired>报修人姓名</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n            <input nz-input formControlName=\"callerName\" />\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>报修人电话</nz-form-label>\r\n        <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n            <input nz-input formControlName=\"callerPhone\" />\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    <nz-form-item>\r\n      <nz-form-label [nzSm]=\"6\" [nzXs]=\"24\">附件</nz-form-label>\r\n      <nz-form-control [nzSm]=\"18\" [nzXs]=\"24\">\r\n        <ImagePicker [files]=\"attachments\" [capture]=\"false\" [selectable]=\"true\" (onImageClick)=\"preview($event)\">\r\n        </ImagePicker>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n    \r\n    <nz-form-item nz-row class=\"register-area\">\r\n      <nz-form-control [nzSpan]=\"18\" [nzOffset]=\"6\">\r\n        <button nz-button nzType=\"primary\">提交</button>\r\n      </nz-form-control>\r\n    </nz-form-item>\r\n  </form>\r\n","styles":["html.blue :host{background-color:#101b47}html.blue :host ::ng-deep .am-image-picker-list .am-image-picker-upload-btn{background:#101b47}html.dark :host{background-color:#242525}html.dark :host ::ng-deep .am-image-picker-list .am-image-picker-upload-btn{background:#242525}html.light :host{background-color:#fff}html.light :host ::ng-deep .am-image-picker-list .am-image-picker-upload-btn{background:#fff}:host{padding:10px;min-height:100%;display:block}"]}]}],"members":{"nzSuccessApply":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"photoSwipe":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵbw"}]}]}],"typeTreeSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":25,"character":3},"arguments":["typeTreeSelect"]}]}],"pageFlag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"equipmentNo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"equipmentName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"alarmMsg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":42,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":43,"character":19},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":46,"character":21},{"__symbolic":"reference","name":"ɵcc"},{"__symbolic":"reference","module":"ng-zorro-antd/image","name":"NzImageService","line":48,"character":28},{"__symbolic":"reference","name":"ɵv"}]}],"ngOnInit":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"initLocations":[{"__symbolic":"method"}],"treeSelectChanged":[{"__symbolic":"method"}],"onModelChangeType":[{"__symbolic":"method"}],"nzmodelChange":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"preview":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵcc":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵj"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":14,"character":26},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":15,"character":21}]}],"addJob":[{"__symbolic":"method"}],"getApplyHistory":[{"__symbolic":"method"}],"getJob":[{"__symbolic":"method"}],"getJobTraces":[{"__symbolic":"method"}],"getJobAttachment":[{"__symbolic":"method"}],"getJobBeforeAttachment":[{"__symbolic":"method"}],"getJobCompletedAttachment":[{"__symbolic":"method"}],"addJobNote":[{"__symbolic":"method"}],"appraise":[{"__symbolic":"method"}],"fillRepairJobId":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵcd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"app-contract","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>合同名称</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"contractName\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>合同编号</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"contractNo\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>合同金额</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-input-number formControlName=\"contractMoney\" [nzMin]=\"0\" [nzStep]=\"0.1\" style=\"width: 183px;\"></nz-input-number>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>负责人</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select style=\"width:183px\" nzShowSearch formControlName=\"projectLeader\">\r\n            <nz-option *ngFor=\"let d of directors\" [nzValue]=\"d.userId\" [nzLabel]=\"d.userName\">\r\n            </nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>执行方式</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"payMethod\" style=\"width: 183px;\">\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 nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>收付方向</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"payDirect\" style=\"width: 183px;\">\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    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>合同状态</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"status\" style=\"width: 183px;\">\r\n            <nz-option nzLabel=\"签约\" nzValue= 0></nz-option>\r\n            <nz-option nzLabel=\"执行\" nzValue= 1></nz-option>\r\n            <nz-option nzLabel=\"未执行\" nzValue= 2></nz-option>\r\n            <nz-option nzLabel=\"终止\" nzValue= 3></nz-option>\r\n            <nz-option nzLabel=\"废弃\" nzValue= 4></nz-option>\r\n          </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>供应商</nz-form-label>\r\n        <nz-form-control>\r\n            <nz-select style=\"width: 183px;\" nzAllowClear nzShowSearch formControlName=\"pno\">\r\n              <nz-option *ngFor=\"let provider of providers\" [nzValue]=\"provider.pno\" [nzLabel]=\"provider.pname\">\r\n              </nz-option>\r\n            </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>供应商负责人</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"providerLeader\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>合同签订日期</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-date-picker style=\"width: 183px;\" nzFormat='yyyy-MM-dd' \r\n              formControlName=\"signContractDate\">\r\n          </nz-date-picker>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>合同开始日期</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-date-picker style=\"width: 183px;\" nzFormat='yyyy-MM-dd' \r\n              formControlName=\"startContractDate\">\r\n          </nz-date-picker>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>合同结束日期</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-date-picker style=\"width: 183px;\" nzFormat='yyyy-MM-dd' \r\n              formControlName=\"endContractDate\">\r\n          </nz-date-picker>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row *ngIf=\"code == 2\">\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>响应时间评价</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"responseTimeEvaluation\" style=\"width: 183px;\">\r\n            <nz-option nzLabel=\"优\" nzValue= 3></nz-option>\r\n            <nz-option nzLabel=\"良\" nzValue= 2></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 nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>服务效率及质量评价</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"serviceEfficiencyQualityEvaluation\" style=\"width: 183px;\">\r\n            <nz-option nzLabel=\"优\" nzValue= 3></nz-option>\r\n            <nz-option nzLabel=\"良\" nzValue= 2></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 nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>服务价格评价</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"servicePrice\" style=\"width: 183px;\">\r\n            <nz-option nzLabel=\"优\" nzValue= 3></nz-option>\r\n            <nz-option nzLabel=\"良\" nzValue= 2></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    </div>\r\n    <div nz-row *ngIf=\"code == 2\">\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>其他评价</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-select formControlName=\"otherEvaluation\" style=\"width: 183px;\">\r\n            <nz-option nzLabel=\"优\" nzValue= 3></nz-option>\r\n            <nz-option nzLabel=\"良\" nzValue= 2></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    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n          <nz-form-label>服务内容</nz-form-label>\r\n          <nz-form-control>\r\n            <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"contractContent\" placeholder=\"服务内容...\"></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n      </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col nzSpan=\"24\">\r\n        <nz-form-label>备注</nz-form-label>\r\n        <nz-form-control>\r\n          <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"mark\" placeholder=\"备注...\"></textarea>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col nzSpan=\"24\" *ngIf=\"code !== 2\">\r\n        <nz-form-label>附件</nz-form-label>\r\n        <nz-form-control style=\"width:620px\">\r\n          <nz-upload  nzType=\"drag\" [nzMultiple]=\"false\" [nzFileList]=\"uploadFileList\"\r\n              nzAction=\"attachmentServer/business/attachment/upload\" (nzChange)=\"handleChange($event)\"\r\n              [nzRemove]=\"removeFile\">\r\n              <p class=\"ant-upload-drag-icon\">\r\n                  <i nz-icon nzType=\"inbox\"></i>\r\n              </p>\r\n              <p class=\"ant-upload-text\">点击或拖拽上传</p>\r\n          </nz-upload>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col nzSpan=\"24\" *ngIf=\"code === 2\">\r\n        <nz-form-control>\r\n            <nz-upload nzAction=\"attachmentServer/business/attachment/upload\" [nzFileList]=\"uploadFileList\" [nzShowButton]='false'\r\n            [nzRemove]=\"removeFile\">\r\n                <button nz-button><i nz-icon nzType=\"upload\"></i>Upload</button>\r\n            </nz-upload>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    </div>\r\n  </form>\r\n","styles":[":host::ng-deep .ant-form-inline .ant-form-item{margin-right:0}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"cid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":23,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"getContractForm":[{"__symbolic":"method"}],"getFilePathList":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵce":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"app-contract-evaluate","template":"  <form nz-form [formGroup]=\"validateForm\">\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-radio-group formControlName=\"responseTimeEvaluation\">\r\n            <label nz-radio nzValue=\"3\">优</label>\r\n            <label nz-radio nzValue=\"2\">良</label>\r\n            <label nz-radio nzValue=\"1\">差</label>\r\n        </nz-radio-group>\r\n        <button nz-button nzType=\"link\" nz-tooltip [nzTooltipTitle]=\"responseTimeTitleTemplate\" [nzTooltipColor]=\"'#108ee9'\">\r\n          <i nz-icon nzType=\"question\" nzTheme=\"outline\"></i>\r\n        </button>\r\n      </nz-form-control>\r\n    </nz-form-item>\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-radio-group formControlName=\"serviceEfficiencyQualityEvaluation\">\r\n            <label nz-radio nzValue=\"3\">优</label>\r\n            <label nz-radio nzValue=\"2\">良</label>\r\n            <label nz-radio nzValue=\"1\">差</label>\r\n        </nz-radio-group>\r\n        <button nz-button nzType=\"link\" nz-tooltip [nzTooltipTitle]=\"serviceEfficiencyQualityTitleTemplate\" [nzTooltipColor]=\"'#108ee9'\">\r\n          <i nz-icon nzType=\"question\" nzTheme=\"outline\"></i>\r\n        </button>\r\n      </nz-form-control>\r\n    </nz-form-item>\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-radio-group formControlName=\"servicePrice\">\r\n              <label nz-radio nzValue=\"3\">优</label>\r\n              <label nz-radio nzValue=\"2\">良</label>\r\n              <label nz-radio nzValue=\"1\">差</label>\r\n          </nz-radio-group>\r\n          <button nz-button nzType=\"link\" nz-tooltip [nzTooltipTitle]=\"servicePriceTitleTemplate\" [nzTooltipColor]=\"'#108ee9'\">\r\n            <i nz-icon nzType=\"question\" nzTheme=\"outline\"></i>\r\n          </button>\r\n        </nz-form-control>\r\n    </nz-form-item>\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-radio-group formControlName=\"otherEvaluation\">\r\n            <label nz-radio nzValue=\"3\">优</label>\r\n            <label nz-radio nzValue=\"2\">良</label>\r\n            <label nz-radio nzValue=\"1\">差</label>\r\n        </nz-radio-group>\r\n        <button nz-button nzType=\"link\" nz-tooltip [nzTooltipTitle]=\"otherTitleTemplate\" [nzTooltipColor]=\"'#108ee9'\">\r\n          <i nz-icon nzType=\"question\" nzTheme=\"outline\"></i>\r\n        </button>\r\n    </nz-form-control>\r\n    </nz-form-item>\r\n  </form>\r\n  <!-- <span style=\"color: red;\">评价后评价内容不可更改，请慎重选择</span> -->\r\n  <nz-tag nzColor=\"warning\">评价后评价内容不可更改，请慎重选择</nz-tag>\r\n  <!-- <a nz-button nzType=\"link\">评价说明</a>\r\n  <div>\r\n      <b style=\"display: block;\">响应时间评价说明</b>\r\n      <span style=\"display: block;\">报修至到达现场时间小于1小时为优；</span>\r\n      <span style=\"display: block;\">报修至到达现场时间大于1小时，小于2小时为良；</span>\r\n      <span style=\"display: block;\">报修至到达现场时间大于2小时为差；</span>       \r\n  </div> -->\r\n  <ng-template #responseTimeTitleTemplate>\r\n    <span style=\"display: block;\">报修至到达现场时间小于1小时为优；</span>\r\n    <span style=\"display: block;\">报修至到达现场时间大于1小时，小于2小时为良；</span>\r\n    <span style=\"display: block;\">报修至到达现场时间大于2小时为差；</span>       \r\n  </ng-template>\r\n  <ng-template #serviceEfficiencyQualityTitleTemplate>\r\n    <span style=\"display: block;\">根据现场工作内容收取的服务费用是否合理；</span>\r\n    <span style=\"display: block;\">备件及更换零部件价格是否合理，如涨价是否能说明原因；</span>\r\n  </ng-template>\r\n  <ng-template #servicePriceTitleTemplate>\r\n    <span style=\"display: block;\">服务人员工作态度是否热情，工作过程中是否能有效沟通；</span>\r\n    <span style=\"display: block;\">供方工作前是否能采取必要的安全措施；</span>\r\n    <span style=\"display: block;\">服务人员是否遵守我公司安全规章制度；</span>         \r\n  </ng-template>\r\n  <ng-template #otherTitleTemplate>\r\n    <span style=\"display: block;\">综合评定得分为11分、12分者继续留用；</span>\r\n    <span style=\"display: block;\">综合评定得分为8分~10分者观察试用；</span>\r\n    <span style=\"display: block;\">任一单项评定结果为“差”者或连续两次综合评定结果为“观察试用”者弃用；</span>       \r\n  </ng-template>\r\n","styles":[""]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"cid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":16,"character":16},{"__symbolic":"reference","name":"ɵq"}]}],"ngOnInit":[{"__symbolic":"method"}],"getForm":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵcf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"app-provider-manager","template":"<div class=\"div-bgcolor\">\r\n    <form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\" class=\"provider-search\">\r\n        <div nz-row>\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">供应商代码</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"pCode\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">供应商名称</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <input nz-input formControlName=\"pName\" />\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            <nz-form-item>\r\n                <nz-form-label [nzSpan]=\"null\">供应商类型</nz-form-label>\r\n                <nz-form-control [nzSpan]=\"null\">\r\n                    <nz-tree-select nzVirtualHeight=\"300px\" class=\"tree-select\" formControlName=\"typeId\"\r\n                        [nzNodes]=\"pTypes\" [nzDropdownMatchSelectWidth]=\"false\" nzShowSearch nzCheckable\r\n                        nzPlaceHolder=\"请选择\">\r\n                    </nz-tree-select>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"primary\" (click)=\"submitForm()\">查询</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n            <nz-form-item>\r\n                <nz-form-control [nzSpan]=\"null\" [nzOffset]=\"null\">\r\n                    <button nz-button nzType=\"default\" (click)=\"resetForm()\">重置</button>\r\n                </nz-form-control>\r\n            </nz-form-item>\r\n        </div>\r\n    </form>\r\n\r\n    <div class=\"provider-table\">\r\n        <div>\r\n            <button class=\"btn-batch-del tool-button\" nzType=\"primary\" nz-button (click)=\"delete()\">批量删除</button>\r\n            <button class=\"tool-button\" nzType=\"primary\" nz-button (click)=\"addProvider()\">新建</button>\r\n        </div>\r\n        <nz-spin [nzSpinning]=\"loading\" [nzSize]=\"'default'\">\r\n            <nz-table #providerTable nzShowPagination [nzData]=\"data\" [nzTotal]=\"total\" [(nzPageSize)]=\"pageSize\"\r\n                [(nzPageIndex)]=\"pageIndex\" (nzPageIndexChange)=\"onPageIndexChange($event)\" nzFrontPagination=\"false\"\r\n                nzTableLayout=\"fixed\" [nzLoading]=\"loading\">\r\n                <thead>\r\n                    <tr>\r\n                        <th nzShowCheckbox [nzChecked]=\"checked\" [nzIndeterminate]=\"indeterminate\"\r\n                            (nzCheckedChange)=\"onAllChecked($event)\" nzWidth=\"30px\"></th>\r\n                        <th>供应商代码</th>\r\n                        <th>供应商名称</th>\r\n                        <th>供应商类型</th>\r\n                        <th>资质审查</th>\r\n                        <!-- <th>表现评估</th> -->\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 item of providerTable.data ;let i = index\">\r\n                        <td nzShowCheckbox [nzChecked]=\"setOfCheckedId.has(item.pno)\"\r\n                            (nzCheckedChange)=\"onItemChecked(item.pno, $event)\">\r\n                        <td>{{ item.pcode }}</td>\r\n                        <td>{{ item.pname }}</td>\r\n                        <td>{{ item.ptypeName }}</td>\r\n                        <td>{{ qualifyReviews[item.qualifyReview] }}</td>\r\n                        <!-- <td>{{ performanceEvaluations[item.performanceEvaluation] }}</td> -->\r\n                        <td>{{ item.pcontact }}</td>\r\n                        <td>{{ item.phone }}</td>\r\n                        <!-- <td>{{ comprehensiveEvaluations[item.comprehensiveEvaluation] }}</td> -->\r\n                        <td>\r\n                            <nz-rate nzDisabled [nzCount]=\"3\" [ngModel]=\"convertInt(item.comprehensiveEvaluation)\">\r\n                            </nz-rate>\r\n                        </td>\r\n                        <td>{{ item.mark }}</td>\r\n                        <td>\r\n                            <a (click)=\"details(item)\">查看</a>\r\n                            <nz-divider nzType=\"vertical\"></nz-divider>\r\n                            <a (click)=\"editProvider(item)\">修改</a>\r\n                            <nz-divider nzType=\"vertical\"></nz-divider>\r\n                            <a (click)=\"viewProvider(item)\">详情</a>\r\n                            <nz-divider nzType=\"vertical\"></nz-divider>\r\n                        </td>\r\n                    </tr>\r\n                </tbody>\r\n            </nz-table>\r\n        </nz-spin>\r\n    </div>\r\n</div>","styles":["html.blue :host{padding:24px;background:linear-gradient(to bottom right,#010b43,#01106c)}html.blue :host .div-bgcolor{background:linear-gradient(to bottom right,#00127a,#000b40)}html.blue :host .div-bgcolor .provider-search{padding:12px 24px;background-color:transparent}html.blue :host .div-bgcolor .provider-table{margin-top:16px;padding:16px 24px 24px;background-color:transparent}html.blue :host .div-bgcolor .tree-select{width:183px}html.blue :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#1c2f7a}html.blue :host ::ng-deep .ant-table{background-color:transparent}html.dark :host{padding:24px}html.dark :host,html.dark :host .div-bgcolor{background:#2a2c2c}html.dark :host .div-bgcolor .provider-search{padding:12px 24px;background-color:#242525}html.dark :host .div-bgcolor .provider-table{margin-top:16px;padding:16px 24px 24px;background-color:#242525}html.dark :host .div-bgcolor .tree-select{width:183px}html.dark :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#383b3b}html.dark :host ::ng-deep .ant-table{background-color:transparent}html.light :host{padding:24px}html.light :host,html.light :host .div-bgcolor{background:#f0f2f5}html.light :host .div-bgcolor .provider-search{padding:12px 24px;background-color:#fff}html.light :host .div-bgcolor .provider-table{margin-top:16px;padding:16px 24px 24px;background-color:#fff}html.light :host .div-bgcolor .tree-select{width:183px}html.light :host ::ng-deep .ant-table tbody>tr.ant-table-row:hover>td{background-color:#fff}html.light :host ::ng-deep .ant-table{background-color:transparent}:host{min-height:100%;display:block}.tool-button{float:right;margin-bottom:16px;margin-left:16px;z-index:1}:host ::ng-deep .ant-divider-vertical{border-left:2px solid transparent}:host ::ng-deep .ant-table-thead>tr>th{text-align:center;font-weight:700}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":34,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":35,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":37,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":38,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"onAllChecked":[{"__symbolic":"method"}],"updateCheckedSet":[{"__symbolic":"method"}],"onItemChecked":[{"__symbolic":"method"}],"refreshCheckedStatus":[{"__symbolic":"method"}],"onPageIndexChange":[{"__symbolic":"method"}],"submitForm":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"details":[{"__symbolic":"method"}],"viewProvider":[{"__symbolic":"method"}],"editProvider":[{"__symbolic":"method"}],"addProvider":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"queryProviderData":[{"__symbolic":"method"}],"initTypeTree":[{"__symbolic":"method"}],"getAllTypes":[{"__symbolic":"method"}],"validateFormData":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"convertInt":[{"__symbolic":"method"}]}},"ɵcg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-quotationsheet","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>报价单名称</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"qsName\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>报价单编号</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"qsNo\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>供应商</nz-form-label>\r\n        <nz-form-control>\r\n            <nz-select style=\"width: 183px;\" nzAllowClear nzShowSearch formControlName=\"pno\">\r\n              <nz-option *ngFor=\"let provider of providers\" [nzValue]=\"provider.pno\" [nzLabel]=\"provider.pname\">\r\n              </nz-option>\r\n            </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>报价日期</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-date-picker style=\"width: 183px;\" nzFormat='yyyy-MM-dd' \r\n          formControlName=\"qsDate\">\r\n          </nz-date-picker>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>报价单金额</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-input-number formControlName=\"qsMoney\" [nzMin]=\"0\" [nzStep]=\"0.1\" style=\"width: 183px;\"></nz-input-number>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>报价单状态</nz-form-label>\r\n        <nz-form-control>\r\n            <nz-select style=\"width: 183px;\" nzAllowClear nzShowSearch formControlName=\"status\">\r\n              <nz-option *ngFor=\"let statu of status\" [nzValue]=\"statu.id\" [nzLabel]=\"statu.name\">\r\n              </nz-option>\r\n            </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>报价人</nz-form-label>\r\n        <nz-form-control>\r\n          <input style=\"width: 183px;\" nz-input formControlName=\"qsBidder\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\" style=\"margin-left: 40px;\">\r\n        <nz-form-label>质保期(月)</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-input-number formControlName=\"guaranteePeriod\" nzPrecision=\"0\" [nzMin]=\"0\" [nzStep]=\"1\" style=\"width: 183px;\"></nz-input-number>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n          <nz-form-label>报价单描述</nz-form-label>\r\n          <nz-form-control>\r\n            <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"qsDesc\" placeholder=\"报价单描述...\"></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col nzSpan=\"24\">\r\n        <nz-form-label>备注</nz-form-label>\r\n        <nz-form-control>\r\n          <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"mark\" placeholder=\"备注...\"></textarea>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n  </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col nzSpan=\"24\" *ngIf=\"code !== 2\">\r\n        <nz-form-label>附件</nz-form-label>\r\n        <nz-form-control style=\"width:620px\">\r\n          <nz-upload  nzType=\"drag\" [nzMultiple]=\"false\" [nzFileList]=\"uploadFileList\"\r\n              nzAction=\"attachmentServer/business/attachment/upload\" (nzChange)=\"handleChange($event)\"\r\n              [nzRemove]=\"removeFile\">\r\n              <p class=\"ant-upload-drag-icon\">\r\n                  <i nz-icon nzType=\"inbox\"></i>\r\n              </p>\r\n              <p class=\"ant-upload-text\">点击或拖拽上传</p>\r\n          </nz-upload>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col nzSpan=\"24\" *ngIf=\"code === 2\">\r\n        <nz-form-control>\r\n            <nz-upload nzAction=\"attachmentServer/business/attachment/upload\" [nzFileList]=\"uploadFileList\" [nzShowButton]='false'\r\n            [nzRemove]=\"removeFile\">\r\n                <button nz-button><i nz-icon nzType=\"upload\"></i>Upload</button>\r\n            </nz-upload>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    </div>\r\n  </form>\r\n","styles":[":host::ng-deep .ant-form-inline .ant-form-item{margin-right:0}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"qsid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":38,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":39,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":41,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":42,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"getQsForm":[{"__symbolic":"method"}],"getFilePathList":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵch":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"app-technical-agreement","template":"<form nz-form nzLayout=\"inline\" [formGroup]=\"validateForm\">\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>技术协议名称</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"taName\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label nzRequired>技术协议编号</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"taNo\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>供应商</nz-form-label>\r\n        <nz-form-control>\r\n            <nz-select style=\"width: 183px;\" nzAllowClear nzShowSearch formControlName=\"pno\">\r\n              <nz-option *ngFor=\"let provider of providers\" [nzValue]=\"provider.pno\" [nzLabel]=\"provider.pname\">\r\n              </nz-option>\r\n            </nz-select>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>甲方代表</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"aSigner\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>甲方代表电话</nz-form-label>\r\n        <nz-form-control>\r\n          <input nz-input formControlName=\"aSignerPhone\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>签订日期</nz-form-label>\r\n        <nz-form-control>\r\n          <nz-date-picker style=\"width: 183px;\" nzFormat='yyyy-MM-dd' \r\n          formControlName=\"signDate\">\r\n      </nz-date-picker>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>乙方代表</nz-form-label>\r\n        <nz-form-control>\r\n          <input style=\"width: 183px;\" nz-input formControlName=\"bSigner\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item style=\"margin-left: 30px;\" nz-col [nzSpan]=\"8\">\r\n        <nz-form-label>乙方代表电话</nz-form-label>\r\n        <nz-form-control>\r\n          <input style=\"width: 183px;\" nz-input formControlName=\"bSignerPhone\" />\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n          <nz-form-label>技术协议内容</nz-form-label>\r\n          <nz-form-control>\r\n            <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"taContent\" placeholder=\"协议内容...\"></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n        <nz-form-item nz-col nzSpan=\"24\">\r\n          <nz-form-label>备注</nz-form-label>\r\n          <nz-form-control>\r\n            <textarea style=\"width:620px\" rows=\"3\" nz-input formControlName=\"mark\" placeholder=\"备注...\"></textarea>\r\n          </nz-form-control>\r\n        </nz-form-item>\r\n    </div>\r\n    <div nz-row>\r\n      <nz-form-item nz-col nzSpan=\"24\" *ngIf=\"code !== 2\">\r\n        <nz-form-label>附件</nz-form-label>\r\n        <nz-form-control style=\"width:620px\">\r\n          <nz-upload  nzType=\"drag\" [nzMultiple]=\"false\" [nzFileList]=\"uploadFileList\"\r\n              nzAction=\"attachmentServer/business/attachment/upload\" (nzChange)=\"handleChange($event)\"\r\n              [nzRemove]=\"removeFile\">\r\n              <p class=\"ant-upload-drag-icon\">\r\n                  <i nz-icon nzType=\"inbox\"></i>\r\n              </p>\r\n              <p class=\"ant-upload-text\">点击或拖拽上传</p>\r\n          </nz-upload>\r\n        </nz-form-control>\r\n      </nz-form-item>\r\n      <nz-form-item nz-col nzSpan=\"24\" *ngIf=\"code === 2\">\r\n        <nz-form-control>\r\n            <nz-upload nzAction=\"attachmentServer/business/attachment/upload\" [nzFileList]=\"uploadFileList\" [nzShowButton]='false'\r\n            [nzRemove]=\"removeFile\">\r\n                <button nz-button><i nz-icon nzType=\"upload\"></i>Upload</button>\r\n            </nz-upload>\r\n        </nz-form-control>\r\n    </nz-form-item>\r\n    </div>\r\n  </form>\r\n","styles":[":host::ng-deep .ant-form-inline .ant-form-item{margin-right:0}"]}]}],"members":{"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"pno":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"taid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalService","line":26,"character":26},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageService","line":27,"character":21},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":29,"character":16},{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":30,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"getTaForm":[{"__symbolic":"method"}],"getFilePathList":[{"__symbolic":"method"}],"handleChange":[{"__symbolic":"method"}],"setValidateForm":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}]}},"ɵci":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":51,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵcj"}],"imports":[],"exports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":58,"character":4},{"__symbolic":"reference","module":"@delon/acl","name":"DelonACLModule","line":59,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":60,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":61,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":62,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/button","name":"NzButtonModule","line":63,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input","name":"NzInputModule","line":64,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/layout","name":"NzLayoutModule","line":65,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/modal","name":"NzModalModule","line":66,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/calendar","name":"NzCalendarModule","line":67,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/table","name":"NzTableModule","line":68,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/badge","name":"NzBadgeModule","line":69,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/form","name":"NzFormModule","line":70,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/date-picker","name":"NzDatePickerModule","line":71,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/spin","name":"NzSpinModule","line":72,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/divider","name":"NzDividerModule","line":73,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tree-select","name":"NzTreeSelectModule","line":74,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/list","name":"NzListModule","line":75,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/upload","name":"NzUploadModule","line":76,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/select","name":"NzSelectModule","line":77,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tabs","name":"NzTabsModule","line":78,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/steps","name":"NzStepsModule","line":79,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/input-number","name":"NzInputNumberModule","line":80,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/menu","name":"NzMenuModule","line":81,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/collapse","name":"NzCollapseModule","line":82,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tag","name":"NzTagModule","line":83,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/empty","name":"NzEmptyModule","line":84,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tooltip","name":"NzToolTipModule","line":85,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/icon","name":"NzIconModule","line":86,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/message","name":"NzMessageModule","line":87,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/time-picker","name":"NzTimePickerModule","line":88,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/rate","name":"NzRateModule","line":89,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/image","name":"NzImageModule","line":90,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/checkbox","name":"NzCheckboxModule","line":91,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/radio","name":"NzRadioModule","line":92,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/card","name":"NzCardModule","line":93,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/dropdown","name":"NzDropDownModule","line":94,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/avatar","name":"NzAvatarModule","line":95,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/carousel","name":"NzCarouselModule","line":96,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/popover","name":"NzPopoverModule","line":97,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/popconfirm","name":"NzPopconfirmModule","line":98,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/progress","name":"NzProgressModule","line":99,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/tree","name":"NzTreeModule","line":100,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/transfer","name":"NzTransferModule","line":101,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd/switch","name":"NzSwitchModule","line":102,"character":4},{"__symbolic":"reference","module":"@angular/cdk/scrolling","name":"ScrollingModule","line":103,"character":4},{"__symbolic":"reference","module":"ng-drag-drop","name":"NgDragDropModule","line":104,"character":4},{"__symbolic":"reference","module":"ng-zorro-antd-mobile","name":"ImagePickerModule","line":105,"character":4},{"__symbolic":"reference","name":"ɵcj"}],"providers":[{"__symbolic":"reference","module":"ng-zorro-antd/notification","name":"NzNotificationService","line":109,"character":4}]}]}],"members":{}},"ɵcj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"convertFloat"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵck":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":36}]}],"query":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵcl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":36}]}],"employees":[{"__symbolic":"method"}],"employeeDepts":[{"__symbolic":"method"}],"newgroup":[{"__symbolic":"method"}],"removegroup":[{"__symbolic":"method"}],"allgroup":[{"__symbolic":"method"}],"allgrouphasson":[{"__symbolic":"method"}],"groupmembers":[{"__symbolic":"method"}],"savegroupmembers":[{"__symbolic":"method"}],"newtemplate":[{"__symbolic":"method"}],"removetemplate":[{"__symbolic":"method"}],"updatetemplate":[{"__symbolic":"method"}],"alltemplate":[{"__symbolic":"method"}],"notifybyemergency":[{"__symbolic":"method"}],"notifybymessage":[{"__symbolic":"method"}],"history":[{"__symbolic":"method"}],"historyattachments":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵcm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":11,"character":36}]}],"list":[{"__symbolic":"method"}],"preview":[{"__symbolic":"method"}],"folder":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"rename":[{"__symbolic":"method"}],"move":[{"__symbolic":"method"}],"version":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"parent":[{"__symbolic":"method"}],"children":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"downloadByPath":[{"__symbolic":"method"}],"downloadLinkByPath":[{"__symbolic":"method"}],"downloadById":[{"__symbolic":"method"}],"downloadLinkById":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"HexagonsiOmsLibService":"./lib/hexagonsi-oms-lib.service","HexagonsiOmsLibComponent":"./lib/hexagonsi-oms-lib.component","HexagonsiOmsLibModule":"./lib/hexagonsi-oms-lib.module","PatrolTemplateManagementComponent":"./lib/patrol-template-management/patrol-template-management.component","PatrolTemplateDetailComponent":"./lib/patrol-template-management/patrol-template-detail/patrol-template-detail.component","PatrolControlPreviewComponent":"./lib/patrol-template-management/patrol-control-preview/patrol-control-preview.component","PatrolControlDetailComponent":"./lib/patrol-template-management/patrol-control-detail/patrol-control-detail.component","DynamicFormQuestionComponent":"./lib/patrol-template-management/dynamic-form-question/dynamic-form-question.component","QuestionBase":"./lib/patrol-template-management/controls/question-base","CheckBoxQuestion":"./lib/patrol-template-management/controls/question-checkbox","DatePickerQuestion":"./lib/patrol-template-management/controls/question-datepicker","InputQuestion":"./lib/patrol-template-management/controls/question-input","InputNumberQuestion":"./lib/patrol-template-management/controls/question-inputnumber","SelectQuestion":"./lib/patrol-template-management/controls/question-select","TextAreaQuestion":"./lib/patrol-template-management/controls/question-textarea","UpLoadQuestion":"./lib/patrol-template-management/controls/question-upload","JobDetailComponent":"./lib/job/job-manager/job-detail/job-detail.component","JobDetailHeaderComponent":"./lib/job/job-manager/job-detail/job-detail-header/job-detail-header.component","JobDetailFootComponent":"./lib/job/job-manager/job-detail/job-detail-foot/job-detail-foot.component","ToolTableComponent":"./lib/tool/tool-manager/tool-table/tool-table.component","ToolSearchComponent":"./lib/tool/tool-manager/tool-search/tool-search.component","KnowledgeDetailComponent":"./lib/knowledge/knowledge-manager/knowledge-detail/knowledge-detail.component","KnowledgeManagerComponent":"./lib/knowledge/knowledge-manager/knowledge-manager.component","FacilityDetailComponent":"./lib/facility/facility-manger/facility-detail/facility-detail.component","FacilityGroupInfoComponent":"./lib/facility/facility-manger/facility-group-info/facility-group-info.component","FacilityGroupEquipmentComponent":"./lib/facility/facility-manger/facility-group-equipment/facility-group-equipment.component","SparepartsManagementComponent":"./lib/facility/spareparts-management/spareparts-management.component","EntrySpareComponent":"./lib/facility/entry-spare/entry-spare.component","OutSpareComponent":"./lib/facility/out-spare/out-spare.component","TakeSpareComponent":"./lib/facility/take-spare/take-spare.component","TakeSpareDetailComponent":"./lib/facility/take-spare/take-spare-detail/take-spare-detail.component","BudgetDetailComponent":"./lib/budget/budget-manager/budget-detail/budget-detail.component","BudgetDetailBudgetComponent":"./lib/budget/budget-manager/budget-detail-budget/budget-detail-budget.component","BudgetItemManagerComponent":"./lib/budget/budget-manager/budget-item-manager/budget-item-manager.component","BudgetMonthComponent":"./lib/budget/budget-manager/budget-month/budget-month.component","ProviderContractManagerComponent":"./lib/provider/provider-contract-manager/provider-contract-manager.component","ProviderDetailComponent":"./lib/provider/provider-manager/provider-detail/provider-detail.component","ProviderComponent":"./lib/provider/provider-manager/provider/provider.component","ProviderQuotationsheetManagerComponent":"./lib/provider/provider-quotationsheet-manager/provider-quotationsheet-manager.component","ProviderTechnicalAgreementManagerComponent":"./lib/provider/provider-technical-agreement-manager/provider-technical-agreement-manager.component","ɵa":"./lib/service/patrol-template.service","ɵb":"./lib/service/question.service","ɵc":"./lib/service/patrol-sheet.service","ɵd":"./lib/service/system/authentication.service","ɵe":"./lib/store/authInfo/auth-state","ɵf":"./lib/store/refresh/refresh-actions","ɵg":"./lib/store/authInfo/auth-actions","ɵh":"./lib/store/authInfo/auth-actions","ɵi":"./lib/service/job.service","ɵj":"./lib/service/common/job-parameter.service","ɵk":"./lib/patrol-template-management/upload-file/upload-file.component","ɵl":"./lib/job/job-manager/job-detail/history-receive-record/history-receive-record.component","ɵm":"./lib/job/job-manager/job-detail/history-repair-record/history-repair-record.component","ɵn":"./lib/job/job-manager/job-detail/history-repair-record-detail/history-repair-record-detail.component","ɵo":"./lib/job/job-manager/job-detail/job-cost/job-cost.component","ɵp":"./lib/service/cost.service","ɵq":"./lib/service/provider.service","ɵr":"./lib/job/job-manager/job-detail/job-cost-list/job-cost-list.component","ɵs":"./lib/service/job-signature.service","ɵt":"./lib/service/custom-validator.service","ɵu":"./lib/service/knowledge.service","ɵv":"./lib/service/patrol-area.service","ɵw":"./lib/service/equipment.service","ɵx":"./lib/job/job-manager/job-detail/job-quotation-table/job-quotation-table.component","ɵy":"./lib/service/job-quotation.service","ɵz":"./lib/job/job-manager/job-detail/job-quotation-trace/job-quotation-trace.component","ɵba":"./lib/job/job-manager/job-detail/job-signature/job-signature.component","ɵbb":"./lib/job/job-trace/job-trace.component","ɵbc":"./lib/facility/out-spare/out-detail/out-detail.component","ɵbd":"./lib/service/spareparts.service","ɵbe":"./lib/tool/tool-manager/tool-detail/tool-detail.component","ɵbf":"./lib/service/tool.service","ɵbg":"./lib/store/toolSearch/tool-search-state","ɵbh":"./lib/store/toolSearch/tool-search-state","ɵbi":"./lib/store/toolSearch/tool-search-action","ɵbj":"./lib/tool/tool-manager/tool-trace/tool-trace.component","ɵbk":"./lib/tool/tool-manager/tool-manager.component","ɵbl":"./lib/job/job-manager/job-detail/job-detail-foot/job-evaluate/job-evaluate.component","ɵbm":"./lib/job/job-manager/job-detail/job-detail-foot/job-verify/job-verify.component","ɵbn":"./lib/job/job-manager/job-detail/job-detail-header/job-patrol-sheet/job-patrol-sheet.component","ɵbo":"./lib/facility/spareparts-management/spare-list/spare-list.component","ɵbp":"./lib/facility/spareparts-management/spare-info/spare-info.component","ɵbq":"./lib/facility/facility-manger/facility-group/facility-group.component","ɵbr":"./lib/service/patrol-group.service","ɵbs":"./lib/budget/budget-manager/budget-detail/budget-detail-item/budget-detail-item.component","ɵbt":"./lib/service/budget-detail.service","ɵbu":"./lib/service/budget.service","ɵbv":"./lib/facility/entry-detail/entry-detail.component","ɵbw":"./lib/common/photo-swipe/photo-swipe.component","ɵbx":"./lib/facility/bim/bim-detail/bim-detail.component","ɵby":"./lib/facility/bim/bim-equipment-detail/bim-equipment-detail.component","ɵbz":"./lib/facility/bim/bim-maintenace-detail/bim-maintenace-detail.component","ɵca":"./lib/facility/bim/state-alarm-detail/state-alarm-detail.component","ɵcb":"./lib/job/job-manager/job-repair-apply/job-repair-apply.component","ɵcc":"./lib/service/apply.service","ɵcd":"./lib/provider/provider-contract-manager/contract/contract.component","ɵce":"./lib/provider/provider-contract-manager/contract-evaluate/contract-evaluate.component","ɵcf":"./lib/provider/provider-manager/provider-manager.component","ɵcg":"./lib/provider/provider-quotationsheet-manager/quotationsheet/quotationsheet.component","ɵch":"./lib/provider/provider-technical-agreement-manager/technical-agreement/technical-agreement.component","ɵci":"./lib/share/share.module","ɵcj":"./lib/pipe/convert-float.pipe","ɵck":"./lib/service/notification-detail.service","ɵcl":"./lib/service/notification.service","ɵcm":"./lib/service/file-manager.service"},"importAs":"hexagonsi-oms-lib"}