|
|
|
<!-- <p>任务指标</p> -->
|
|
|
|
<div class="box">
|
|
|
|
<div class="timebox">
|
|
|
|
<nz-select [(ngModel)]="selectedYear" (ngModelChange)="selectYear($event)">
|
|
|
|
<nz-option [nzValue]="2022" nzLabel="2022年"></nz-option>
|
|
|
|
<nz-option [nzValue]="2023" nzLabel="2023年"></nz-option>
|
|
|
|
<nz-option [nzValue]="2024" nzLabel="2024年"></nz-option>
|
|
|
|
<nz-option [nzValue]="2025" nzLabel="2025年"></nz-option>
|
|
|
|
<nz-option [nzValue]="2026" nzLabel="2026年"></nz-option>
|
|
|
|
<nz-option [nzValue]="2027" nzLabel="2027年"></nz-option>
|
|
|
|
</nz-select>
|
|
|
|
<div *ngFor="let item of months" class="monthbtn" (click)="selectMonth(item)"
|
|
|
|
[ngClass]="{'selectedMonth': item.id == selectedMonth}">
|
|
|
|
{{item.name}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="content" cdkScrollable>
|
|
|
|
|
|
|
|
<!-- 投诉举报 complaint-->
|
|
|
|
<div class="panel" *ngIf="!iszhanxun">
|
|
|
|
<div class="spin" *ngIf="complaint.isLoading">
|
|
|
|
<nz-spin nzSimple></nz-spin>
|
|
|
|
</div>
|
|
|
|
<div class="panelheader">
|
|
|
|
<div class="panelheaderleft">
|
|
|
|
<div class="panelheadername panelheadernameblue2">
|
|
|
|
<img src="../../../../assets/images/icon/yanlian.png" alt="">
|
|
|
|
投诉举报
|
|
|
|
</div>
|
|
|
|
<button nz-button nzType="primary" nz-popover nzPopoverPlacement="bottomLeft"
|
|
|
|
[nzPopoverContent]="contentTemplate1" [nzPopoverTrigger]=null
|
|
|
|
[nzPopoverVisible]="complaint.isPopover" (click)="isPopover(complaint)">选择单位</button>
|
|
|
|
<ng-template #contentTemplate1>
|
|
|
|
<div class="selectUnitPopover">
|
|
|
|
<div class="popoverTitle">
|
|
|
|
<span (click)="popoverMenuSelect(complaint,1)"
|
|
|
|
[ngClass]="{'selectedspan': complaint.selectedMenu == 1}">单位名称</span>
|
|
|
|
<span style="margin: 0 10px;">|</span>
|
|
|
|
<span (click)="popoverMenuSelect(complaint,2)"
|
|
|
|
[ngClass]="{'selectedspan': complaint.selectedMenu == 2}">组织机构</span>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="complaint.selectedMenu == 1">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="submitForm(complaint)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="complaint.search1" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-checkbox-group [(ngModel)]="complaint.unitList"
|
|
|
|
(ngModelChange)="log(complaint)"></nz-checkbox-group>
|
|
|
|
<p class="blue" *ngIf="complaint.unitList.length < totalCount" (click)="moreData()">
|
|
|
|
<ng-container *ngIf="moreDataLoading; else moreDatatemplate">
|
|
|
|
<span nz-icon nzType="loading" nzTheme="outline"></span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #moreDatatemplate>
|
|
|
|
更多
|
|
|
|
</ng-template>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="complaint.selectedMenu == 2">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="getCompaniesByName(complaint)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="complaint.search2" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-tree *ngIf="complaint.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="complaint.nodes" [nzTreeTemplate]="nzTreeTemplatecomplaint1"
|
|
|
|
nzBlockNode [nzAsyncData]="true" (nzExpandChange)="onExpandChange($event)">
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplatecomplaint1 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(complaint,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
|
|
|
|
|
|
|
|
<nz-tree *ngIf="!complaint.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="complaint.nodes2" [nzTreeTemplate]="nzTreeTemplatecomplaint2"
|
|
|
|
nzBlockNode>
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplatecomplaint2 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(complaint,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverBtn">
|
|
|
|
<button nz-button nzType="primary" [nzLoading]="complaint.isLoading"
|
|
|
|
(click)="selectedUnit(complaint,'投诉举报')">确定</button>
|
|
|
|
<button nz-button nzType="default" [nzLoading]="complaint.isLoading"
|
|
|
|
(click)="isPopover(complaint)">取消</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
<span>
|
|
|
|
已分配: <span class="blue">{{complaint.allocated}}/{{complaint.data.length}}</span> 家单位
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div class="panelheaderright">
|
|
|
|
<!-- <button nz-button nzType="primary">提交审核</button> -->
|
|
|
|
<span (click)="expand(complaint)" class="expand blue">
|
|
|
|
{{complaint.isExpand ? '收起' :'展开'}}
|
|
|
|
<i nz-icon [nzType]="complaint.isExpand ? 'down' : 'up'" nzTheme="outline"></i>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="panelcontent" *ngIf="complaint.isExpand">
|
|
|
|
<nz-table [nzPageSize]="99" #colSpanTable [nzData]="complaint.data" nzBordered nzSize="small"
|
|
|
|
[nzShowPagination]="false">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th nzWidth="25%">单位名称</th>
|
|
|
|
<th nzWidth="40%">配合机构/人员</th>
|
|
|
|
<th nzWidth="25%">说明</th>
|
|
|
|
<th nzWidth="10%">操作</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<tr *ngFor="let item of colSpanTable.data; index as i">
|
|
|
|
<td>{{item.company.companyName}}</td>
|
|
|
|
<td class="editOr">
|
|
|
|
<span class="name">
|
|
|
|
<ng-container
|
|
|
|
*ngIf="(item.supervisors.length == 0 && item.assistantOrganizations.length == 0); else elseTemplate666">
|
|
|
|
<span>{{item.organization.name}}</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate666>
|
|
|
|
<span *ngFor="let i of item.supervisors" style="margin-right: 6px;">
|
|
|
|
{{i.name}}
|
|
|
|
</span>
|
|
|
|
<span *ngFor="let i of item.assistantOrganizations" style="margin-right: 6px;">
|
|
|
|
{{i.name}}
|
|
|
|
</span>
|
|
|
|
</ng-template>
|
|
|
|
</span>
|
|
|
|
<span class="blue" (click)="editOr(complaint,item)"
|
|
|
|
[ngClass]="{'forbid': item.approvalStatus != '未派发'}">修改机构</span>
|
|
|
|
</td>
|
|
|
|
<td style="padding:0 2px!important;">
|
|
|
|
<textarea [disabled]="item.approvalStatus != '未派发'" nzAutosize
|
|
|
|
[(ngModel)]="item.description" style="border: 0;" rows="1" nz-input
|
|
|
|
placeholder="一段简短的说明文字..."
|
|
|
|
(ngModelChange)="taskDescChange(complaint,item)"></textarea>
|
|
|
|
</td>
|
|
|
|
<td style="display: flex;justify-content: space-between;align-items: center;">
|
|
|
|
<ng-container *ngIf="item.approvalStatus == '未派发'; else elseTemplate">
|
|
|
|
<span class="blue" (click)="distribute(item,'投诉举报')">派发</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
<span class="green">已派发</span>
|
|
|
|
</ng-template>
|
|
|
|
<span style="margin-left: 6px;" class="red"
|
|
|
|
(click)="deleteTask(item,complaint)">删除</span>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</nz-table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 行政许可 -->
|
|
|
|
<div class="panel" *ngIf="!iszhanxun">
|
|
|
|
<div class="spin" *ngIf="permission.isLoading">
|
|
|
|
<nz-spin nzSimple></nz-spin>
|
|
|
|
</div>
|
|
|
|
<div class="panelheader">
|
|
|
|
<div class="panelheaderleft">
|
|
|
|
<div class="panelheadername panelheadernamegreen">
|
|
|
|
<img src="../../../../assets/images/icon/yanlian.png" alt="">
|
|
|
|
行政许可
|
|
|
|
</div>
|
|
|
|
<button nz-button nzType="primary" nz-popover nzPopoverPlacement="bottomLeft"
|
|
|
|
[nzPopoverContent]="contentTemplate2" [nzPopoverTrigger]=null
|
|
|
|
[nzPopoverVisible]="permission.isPopover" (click)="isPopover(permission)">选择单位</button>
|
|
|
|
<ng-template #contentTemplate2>
|
|
|
|
<div class="selectUnitPopover">
|
|
|
|
<div class="popoverTitle">
|
|
|
|
<span (click)="popoverMenuSelect(permission,1)"
|
|
|
|
[ngClass]="{'selectedspan': permission.selectedMenu == 1}">单位名称</span>
|
|
|
|
<span style="margin: 0 10px;">|</span>
|
|
|
|
<span (click)="popoverMenuSelect(permission,2)"
|
|
|
|
[ngClass]="{'selectedspan': permission.selectedMenu == 2}">组织机构</span>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="permission.selectedMenu == 1">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="submitForm(permission)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="permission.search1" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-checkbox-group [(ngModel)]="permission.unitList"
|
|
|
|
(ngModelChange)="log(permission)"></nz-checkbox-group>
|
|
|
|
<p class="blue" *ngIf="permission.unitList.length < totalCount"
|
|
|
|
(click)="moreData()">
|
|
|
|
<ng-container *ngIf="moreDataLoading; else moreDatatemplate">
|
|
|
|
<span nz-icon nzType="loading" nzTheme="outline"></span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #moreDatatemplate>
|
|
|
|
更多
|
|
|
|
</ng-template>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="permission.selectedMenu == 2">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="getCompaniesByName(permission)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="permission.search2" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-tree *ngIf="permission.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="permission.nodes" [nzTreeTemplate]="nzTreeTemplatepermission1"
|
|
|
|
nzBlockNode [nzAsyncData]="true" (nzExpandChange)="onExpandChange($event)">
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplatepermission1 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(permission,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
|
|
|
|
|
|
|
|
<nz-tree *ngIf="!permission.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="permission.nodes2" [nzTreeTemplate]="nzTreeTemplatepermission2"
|
|
|
|
nzBlockNode>
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplatepermission2 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(permission,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverBtn">
|
|
|
|
<button nz-button nzType="primary" [nzLoading]="permission.isLoading"
|
|
|
|
(click)="selectedUnit(permission,'行政许可')">确定</button>
|
|
|
|
<button nz-button nzType="default" [nzLoading]="permission.isLoading"
|
|
|
|
(click)="isPopover(permission)">取消</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
<span>
|
|
|
|
已分配: <span class="blue">{{permission.allocated}}/{{permission.data.length}}</span> 家单位
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div class="panelheaderright">
|
|
|
|
<!-- <button nz-button nzType="primary">提交审核</button> -->
|
|
|
|
<span (click)="expand(permission)" class="expand blue">
|
|
|
|
{{permission.isExpand ? '收起' :'展开'}}
|
|
|
|
<i nz-icon [nzType]="permission.isExpand ? 'down' : 'up'" nzTheme="outline"></i>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="panelcontent" *ngIf="permission.isExpand">
|
|
|
|
<nz-table [nzPageSize]="99" #colSpanTable [nzData]="permission.data" nzBordered nzSize="small"
|
|
|
|
[nzShowPagination]="false">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th nzWidth="25%">单位名称</th>
|
|
|
|
<th nzWidth="40%">配合机构/人员</th>
|
|
|
|
<th nzWidth="25%">说明</th>
|
|
|
|
<th nzWidth="10%">操作</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<tr *ngFor="let item of colSpanTable.data; index as i">
|
|
|
|
<td>{{item.company.companyName}}</td>
|
|
|
|
<td class="editOr">
|
|
|
|
<span class="name">
|
|
|
|
<ng-container
|
|
|
|
*ngIf="(item.supervisors.length == 0 && item.assistantOrganizations.length == 0); else elseTemplate677">
|
|
|
|
<span>{{item.organization.name}}</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate677>
|
|
|
|
<span *ngFor="let i of item.supervisors" style="margin-right: 6px;">
|
|
|
|
{{i.name}}
|
|
|
|
</span>
|
|
|
|
<span *ngFor="let i of item.assistantOrganizations" style="margin-right: 6px;">
|
|
|
|
{{i.name}}
|
|
|
|
</span>
|
|
|
|
</ng-template>
|
|
|
|
</span>
|
|
|
|
<span class="blue" (click)="editOr(permission,item)"
|
|
|
|
[ngClass]="{'forbid': item.approvalStatus != '未派发'}">修改机构</span>
|
|
|
|
</td>
|
|
|
|
<td style="padding:0 2px!important;">
|
|
|
|
<textarea [disabled]="item.approvalStatus != '未派发'" nzAutosize
|
|
|
|
[(ngModel)]="item.description" style="border: 0;" rows="1" nz-input
|
|
|
|
placeholder="一段简短的说明文字..."
|
|
|
|
(ngModelChange)="taskDescChange(permission,item)"></textarea>
|
|
|
|
</td>
|
|
|
|
<td style="display: flex;justify-content: space-between;align-items: center;">
|
|
|
|
<ng-container *ngIf="item.approvalStatus == '未派发'; else elseTemplate">
|
|
|
|
<span class="blue" (click)="distribute(item,'行政许可')">派发</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
<span class="green">已派发</span>
|
|
|
|
</ng-template>
|
|
|
|
<span style="margin-left: 6px;" class="red"
|
|
|
|
(click)="deleteTask(item,permission)">删除</span>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</nz-table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 双随机 doubleRandom-->
|
|
|
|
<div class="panel" *ngIf="!iszhanxun">
|
|
|
|
<div class="spin" *ngIf="doubleRandom.isLoading">
|
|
|
|
<nz-spin nzSimple></nz-spin>
|
|
|
|
</div>
|
|
|
|
<div class="panelheader">
|
|
|
|
<div class="panelheaderleft">
|
|
|
|
<div class="panelheadername panelheadernameblue">
|
|
|
|
<img src="../../../../assets/images/icon/suiji.png" alt="">
|
|
|
|
双随机
|
|
|
|
</div>
|
|
|
|
<button nz-button nzType="primary" nz-popover nzPopoverPlacement="bottomLeft"
|
|
|
|
[nzPopoverContent]="contentTemplate3" [nzPopoverTrigger]=null
|
|
|
|
[nzPopoverVisible]="doubleRandom.isPopover" (click)="isPopover(doubleRandom)">选择单位</button>
|
|
|
|
<ng-template #contentTemplate3>
|
|
|
|
<div class="selectUnitPopover">
|
|
|
|
<div class="popoverTitle">
|
|
|
|
<span (click)="popoverMenuSelect(doubleRandom,1)"
|
|
|
|
[ngClass]="{'selectedspan': doubleRandom.selectedMenu == 1}">单位名称</span>
|
|
|
|
<span style="margin: 0 10px;">|</span>
|
|
|
|
<span (click)="popoverMenuSelect(doubleRandom,2)"
|
|
|
|
[ngClass]="{'selectedspan': doubleRandom.selectedMenu == 2}">组织机构</span>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="doubleRandom.selectedMenu == 1">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="submitForm(doubleRandom)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="doubleRandom.search1" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-checkbox-group [(ngModel)]="doubleRandom.unitList"
|
|
|
|
(ngModelChange)="log(doubleRandom)"></nz-checkbox-group>
|
|
|
|
<p class="blue" *ngIf="doubleRandom.unitList.length < totalCount"
|
|
|
|
(click)="moreData()">
|
|
|
|
<ng-container *ngIf="moreDataLoading; else moreDatatemplate">
|
|
|
|
<span nz-icon nzType="loading" nzTheme="outline"></span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #moreDatatemplate>
|
|
|
|
更多
|
|
|
|
</ng-template>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="doubleRandom.selectedMenu == 2">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="getCompaniesByName(doubleRandom)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="doubleRandom.search2" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-tree *ngIf="doubleRandom.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="doubleRandom.nodes" [nzTreeTemplate]="nzTreeTemplatedoubleRandom1"
|
|
|
|
nzBlockNode [nzAsyncData]="true" (nzExpandChange)="onExpandChange($event)">
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplatedoubleRandom1 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(doubleRandom,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
|
|
|
|
|
|
|
|
<nz-tree *ngIf="!doubleRandom.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="doubleRandom.nodes2" [nzTreeTemplate]="nzTreeTemplatedoubleRandom2"
|
|
|
|
nzBlockNode>
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplatedoubleRandom2 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(doubleRandom,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverBtn">
|
|
|
|
<button nz-button nzType="primary" [nzLoading]="doubleRandom.isLoading"
|
|
|
|
(click)="selectedUnit2(doubleRandom,'双随机')">确定</button>
|
|
|
|
<button nz-button nzType="default" [nzLoading]="doubleRandom.isLoading"
|
|
|
|
(click)="isPopover(doubleRandom)">取消</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
<span>
|
|
|
|
已分配: <span class="blue">{{doubleRandom.allocated}}/{{doubleRandom.allPlanTasks}}</span> 家单位
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div class="panelheaderright">
|
|
|
|
<!-- <button nz-button nzType="primary">提交审核</button> -->
|
|
|
|
<span (click)="expand(doubleRandom)" class="expand blue">
|
|
|
|
{{doubleRandom.isExpand ? '收起' :'展开'}}
|
|
|
|
<i nz-icon [nzType]="doubleRandom.isExpand ? 'down' : 'up'" nzTheme="outline"></i>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="panelcontent" *ngIf="doubleRandom.isExpand">
|
|
|
|
<nz-table [nzPageSize]="99" #colSpanTable [nzData]="doubleRandom.data" nzBordered nzSize="small"
|
|
|
|
[nzShowPagination]="false">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th nzWidth="18%">责任机构</th>
|
|
|
|
<th nzWidth="6%">任务额</th>
|
|
|
|
<th nzWidth="23%">单位名称</th>
|
|
|
|
<th nzWidth="15%">监督员</th>
|
|
|
|
<th>说明</th>
|
|
|
|
<th nzWidth="10%">操作</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<tr *ngFor="let item of colSpanTable.data; index as i">
|
|
|
|
<td>{{item.organizatin.name}}</td>
|
|
|
|
<td>{{item.targetCount}}</td>
|
|
|
|
<td class="flextd">
|
|
|
|
<ng-container *ngIf="item.planTasks && item.planTasks.length != 0; else elseTemplate">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">
|
|
|
|
{{i.company.companyName}}
|
|
|
|
<img *ngIf="i.isCheckAgain" class="isCheckAgain"
|
|
|
|
src="../../../../assets/images/icon/isCheckAgain.png" alt="">
|
|
|
|
</div>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
/
|
|
|
|
</ng-template>
|
|
|
|
</td>
|
|
|
|
<td class="flextd">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">
|
|
|
|
<ng-container *ngIf="i.supervisors.length != 0; else elseTemplate">
|
|
|
|
<div class="ellipsis">
|
|
|
|
<span class="assistant" nz-tooltip [nzTooltipTitle]="titleTemplate">
|
|
|
|
<span *ngFor="let o of i.supervisors;let key = index">
|
|
|
|
<img *ngIf="key == 0" src="../../../../assets/images/icon/main.png"
|
|
|
|
alt="">
|
|
|
|
<img *ngIf="key == 1"
|
|
|
|
src="../../../../assets/images/icon/assist.png" alt="">
|
|
|
|
{{o.name}}
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
<ng-template #titleTemplate let-thing>
|
|
|
|
<span style="margin-right: 6px;"
|
|
|
|
*ngFor="let o of i.supervisors;let key = index">
|
|
|
|
<img *ngIf="key == 0" src="../../../../assets/images/icon/main.png"
|
|
|
|
alt="">
|
|
|
|
<img *ngIf="key == 1"
|
|
|
|
src="../../../../assets/images/icon/assist.png" alt="">
|
|
|
|
{{o.name}}
|
|
|
|
</span>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<span class="blue" (click)="allot(i,'双随机')"
|
|
|
|
[ngClass]="{'forbid': i.approvalStatus == '通过'}">更改</span>
|
|
|
|
</div>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
<div class="select" (click)="allot(i,'双随机')"
|
|
|
|
[ngClass]="{'forbidbtn': i.approvalStatus == '通过'}">
|
|
|
|
检查员
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
<td style="padding:0 2px!important;" class="flextd">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">
|
|
|
|
<textarea [disabled]="i.approvalStatus == '通过'" [(ngModel)]="i.description"
|
|
|
|
nzAutosize style="border: 0;" rows="1" nz-input placeholder="一段简短的说明文字..."
|
|
|
|
(ngModelChange)="taskDescChange(doubleRandom,i)"></textarea>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
<td class="flextd">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">
|
|
|
|
<ng-container *ngIf="i.approvalStatus == '未派发'; else elseTemplate">
|
|
|
|
<span class="blue" (click)="distribute(i,'双随机')">派发</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
<span class="green">已派发</span>
|
|
|
|
</ng-template>
|
|
|
|
<span style="margin-left: 6px;" class="red" (click)="deleteTask(i,item)">删除</span>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</nz-table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 熟悉演练 -->
|
|
|
|
<div class="panel">
|
|
|
|
<div class="spin" *ngIf="rehearsal.isLoading">
|
|
|
|
<nz-spin nzSimple></nz-spin>
|
|
|
|
</div>
|
|
|
|
<div class="panelheader">
|
|
|
|
<div class="panelheaderleft">
|
|
|
|
<div class="panelheadername panelheadernamepurple">
|
|
|
|
<img src="../../../../assets/images/icon/yanlian.png" alt="">
|
|
|
|
熟悉演练
|
|
|
|
</div>
|
|
|
|
<button nz-button nzType="primary" nz-popover nzPopoverPlacement="bottomLeft"
|
|
|
|
[nzPopoverContent]="contentTemplate4" [nzPopoverTrigger]=null
|
|
|
|
[nzPopoverVisible]="rehearsal.isPopover" (click)="isPopover(rehearsal)">选择单位</button>
|
|
|
|
<ng-template #contentTemplate4>
|
|
|
|
<div class="selectUnitPopover">
|
|
|
|
<div class="popoverTitle">
|
|
|
|
<span (click)="popoverMenuSelect(rehearsal,1)"
|
|
|
|
[ngClass]="{'selectedspan': rehearsal.selectedMenu == 1}">单位名称</span>
|
|
|
|
<span style="margin: 0 10px;">|</span>
|
|
|
|
<span (click)="popoverMenuSelect(rehearsal,2)"
|
|
|
|
[ngClass]="{'selectedspan': rehearsal.selectedMenu == 2}">组织机构</span>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="rehearsal.selectedMenu == 1">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="submitForm(rehearsal)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="rehearsal.search1" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-checkbox-group [(ngModel)]="rehearsal.unitList"
|
|
|
|
(ngModelChange)="log(rehearsal)"></nz-checkbox-group>
|
|
|
|
<p class="blue" *ngIf="rehearsal.unitList.length < totalCount" (click)="moreData()">
|
|
|
|
<ng-container *ngIf="moreDataLoading; else moreDatatemplate">
|
|
|
|
<span nz-icon nzType="loading" nzTheme="outline"></span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #moreDatatemplate>
|
|
|
|
更多
|
|
|
|
</ng-template>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContent" *ngIf="rehearsal.selectedMenu == 2">
|
|
|
|
<div>
|
|
|
|
<form nz-form (ngSubmit)="getCompaniesByName(rehearsal)">
|
|
|
|
<nz-form-item>
|
|
|
|
<nz-form-control>
|
|
|
|
<nz-input-group nzPrefixIcon="search">
|
|
|
|
<input type="text" [(ngModel)]="rehearsal.search2" nz-input
|
|
|
|
placeholder="请输入单位名称" [ngModelOptions]="{standalone: true}" />
|
|
|
|
</nz-input-group>
|
|
|
|
</nz-form-control>
|
|
|
|
<button style="display: none;" type="submit"></button>
|
|
|
|
</nz-form-item>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="popoverContentitem">
|
|
|
|
<nz-tree *ngIf="rehearsal.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="rehearsal.nodes" [nzTreeTemplate]="nzTreeTemplaterehearsal1"
|
|
|
|
nzBlockNode [nzAsyncData]="true" (nzExpandChange)="onExpandChange($event)">
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplaterehearsal1 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(rehearsal,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
|
|
|
|
|
|
|
|
<nz-tree *ngIf="!rehearsal.isnodes" [nzHideUnMatched]='true'
|
|
|
|
[nzData]="rehearsal.nodes2" [nzTreeTemplate]="nzTreeTemplaterehearsal2"
|
|
|
|
nzBlockNode>
|
|
|
|
</nz-tree>
|
|
|
|
<ng-template #nzTreeTemplaterehearsal2 let-node let-origin="origin">
|
|
|
|
<div class="nodebox">
|
|
|
|
<span class="name">
|
|
|
|
<label *ngIf="node.origin.companyName" nz-checkbox
|
|
|
|
[(ngModel)]="node.origin.isChecked"
|
|
|
|
(ngModelChange)="orcheckbox(rehearsal,$event,node)"></label>
|
|
|
|
{{ node.title }}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="popoverBtn">
|
|
|
|
<button nz-button nzType="primary" [nzLoading]="rehearsal.isLoading"
|
|
|
|
(click)="selectedUnit2(rehearsal,'熟悉演练')">确定</button>
|
|
|
|
<button nz-button nzType="default" [nzLoading]="rehearsal.isLoading"
|
|
|
|
(click)="isPopover(rehearsal)">取消</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</ng-template>
|
|
|
|
<span>
|
|
|
|
已分配: <span class="blue">{{rehearsal.allocated}}/{{rehearsal.allPlanTasks}}</span> 家单位
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div class="panelheaderright">
|
|
|
|
<!-- <button nz-button nzType="primary">提交审核</button> -->
|
|
|
|
<span (click)="expand(rehearsal)" class="expand blue">
|
|
|
|
{{rehearsal.isExpand ? '收起' :'展开'}}
|
|
|
|
<i nz-icon [nzType]="rehearsal.isExpand ? 'down' : 'up'" nzTheme="outline"></i>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="panelcontent" *ngIf="rehearsal.isExpand">
|
|
|
|
<nz-table [nzPageSize]="99" #colSpanTable [nzData]="rehearsal.data" nzBordered nzSize="small"
|
|
|
|
[nzShowPagination]="false">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th nzWidth="25%">责任机构</th>
|
|
|
|
<th nzWidth="6%">任务额</th>
|
|
|
|
<th nzWidth="32%">单位名称</th>
|
|
|
|
<th>说明</th>
|
|
|
|
<th nzWidth="10%">操作</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<tr *ngFor="let item of colSpanTable.data; index as i">
|
|
|
|
<td>{{item.organizatin.name}}</td>
|
|
|
|
<td>
|
|
|
|
<nz-input-number [disabled]="item.planTasks && item.planTasks.length == 0"
|
|
|
|
[(ngModel)]="item.targetCount" [nzMin]="1" [nzMax]="9" [nzStep]="1"
|
|
|
|
(nzBlur)="targetCountChange(rehearsal,item,$event)">
|
|
|
|
</nz-input-number>
|
|
|
|
</td>
|
|
|
|
<td class="flextd">
|
|
|
|
<ng-container *ngIf="item.planTasks && item.planTasks.length != 0; else elseTemplate">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">{{i.company.companyName}}
|
|
|
|
</div>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
/
|
|
|
|
</ng-template>
|
|
|
|
</td>
|
|
|
|
<td style="padding:0 2px!important;" class="flextd">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">
|
|
|
|
<textarea [disabled]="i.approvalStatus == '通过'" [(ngModel)]="i.description"
|
|
|
|
nzAutosize nzBorderless rows="1" nz-input placeholder="一段简短的说明文字..."
|
|
|
|
(ngModelChange)="taskDescChange(rehearsal,i)"></textarea>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</td>
|
|
|
|
<td class="flextd">
|
|
|
|
<div class="itembox" *ngFor="let i of item.planTasks">
|
|
|
|
<ng-container *ngIf="i.approvalStatus == '未派发'; else elseTemplate">
|
|
|
|
<span class="blue" (click)="distribute(i,'熟悉演练')">派发</span>
|
|
|
|
</ng-container>
|
|
|
|
<ng-template #elseTemplate>
|
|
|
|
<span class="green">已派发</span>
|
|
|
|
</ng-template>
|
|
|
|
<span style="margin-left: 6px;" class="red" (click)="deleteTask(i,item)">删除</span>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</nz-table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="panel" *ngIf="!iszhanxun">
|
|
|
|
<div class="panelheader">
|
|
|
|
<div class="panelheaderleft">
|
|
|
|
<div class="panelheadername panelheadernameor2">
|
|
|
|
<img src="../../../../assets/images/icon/xuanchuan.png" alt="">
|
|
|
|
消防宣传
|
|
|
|
</div>
|
|
|
|
<!-- <button nz-button nzType="primary">选择单位</button>
|
|
|
|
<span>
|
|
|
|
已分配: <span class="blue">0/0</span> 家单位
|
|
|
|
</span> -->
|
|
|
|
</div>
|
|
|
|
<div class="panelheaderright">
|
|
|
|
<!-- <button nz-button nzType="primary">提交审核</button>
|
|
|
|
<span class="expand blue">
|
|
|
|
收起
|
|
|
|
<i nz-icon nzType="down" nzTheme="outline"></i>
|
|
|
|
</span> -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="panel" *ngIf="!iszhanxun">
|
|
|
|
<div class="panelheader">
|
|
|
|
<div class="panelheaderleft">
|
|
|
|
<div class="panelheadername panelheadernamered">
|
|
|
|
<img src="../../../../assets/images/icon/huozai.png" alt="">
|
|
|
|
火灾调查
|
|
|
|
</div>
|
|
|
|
<!-- <button nz-button nzType="primary">选择单位</button>
|
|
|
|
<span>
|
|
|
|
已分配: <span class="blue">0/0</span> 家单位
|
|
|
|
</span> -->
|
|
|
|
</div>
|
|
|
|
<div class="panelheaderright">
|
|
|
|
<!-- <button nz-button nzType="primary">提交审核</button>
|
|
|
|
<span class="expand blue">
|
|
|
|
收起
|
|
|
|
<i nz-icon nzType="down" nzTheme="outline"></i>
|
|
|
|
</span> -->
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|