|
@@ -72,10 +72,11 @@
|
|
|
<nz-form-control [nzSpan]="16">
|
|
|
<!-- <input [(ngModel)]="fbsWorkshopDispatchList.productionOrderNumberName" name="productionOrderNumberName" nz-input
|
|
|
placeholder="请输入" /> -->
|
|
|
- <nz-select [(ngModel)]="fbsWorkshopDispatchList.productionOrderNumberName" name="productionOrderNumberName" style="width: 100%" nzShowSearch
|
|
|
- nzAllowClear nzPlaceHolder="请选择" >
|
|
|
+ <nz-select [(ngModel)]="fbsWorkshopDispatchList.productionOrderNumberName" name="productionOrderNumberName"
|
|
|
+ style="width: 100%" nzShowSearch nzAllowClear nzPlaceHolder="请选择">
|
|
|
<ng-container *ngFor="let list of listOfDataSelect">
|
|
|
- <nz-option [nzLabel]="list.productionOrderNumberName" [nzValue]="list.productionOrderNumberName"> </nz-option>
|
|
|
+ <nz-option [nzLabel]="list.productionOrderNumberName" [nzValue]="list.productionOrderNumberName">
|
|
|
+ </nz-option>
|
|
|
</ng-container>
|
|
|
</nz-select>
|
|
|
</nz-form-control>
|
|
@@ -85,8 +86,7 @@
|
|
|
<nz-form-item class="nz-form-item">
|
|
|
<nz-form-label [nzSpan]="8">年份</nz-form-label>
|
|
|
<nz-form-control [nzSpan]="16">
|
|
|
- <input [(ngModel)]="fbsWorkshopDispatchList.year" name="year" nz-input
|
|
|
- placeholder="请输入" />
|
|
|
+ <input [(ngModel)]="fbsWorkshopDispatchList.year" name="year" nz-input placeholder="请输入" />
|
|
|
</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
@@ -94,13 +94,12 @@
|
|
|
<nz-form-item class="nz-form-item">
|
|
|
<nz-form-label [nzSpan]="8">月份</nz-form-label>
|
|
|
<nz-form-control [nzSpan]="16">
|
|
|
- <input [(ngModel)]="fbsWorkshopDispatchList.month" name="month" nz-input
|
|
|
- placeholder="请输入" />
|
|
|
+ <input [(ngModel)]="fbsWorkshopDispatchList.month" name="month" nz-input placeholder="请输入" />
|
|
|
</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
- <!-- 按钮 -->
|
|
|
- <div nz-col nzXs="24" nzSm="4" nzLg="2">
|
|
|
+ <!-- 按钮 -->
|
|
|
+ <div nz-col nzXs="24" nzSm="4" nzLg="2">
|
|
|
<nz-form-item class="nz-form-item">
|
|
|
<nz-form-label [nzSpan]="2" [nzNoColon]="true"></nz-form-label>
|
|
|
<nz-form-control [nzSpan]="16">
|
|
@@ -111,300 +110,358 @@
|
|
|
</div>
|
|
|
<div nz-col nzXs="24" nzSm="4" nzLg="6">
|
|
|
<nz-form-item class="nz-form-item">
|
|
|
- <nz-form-label [nzSpan]="16" >是否显示已完成订单</nz-form-label>
|
|
|
+ <nz-form-label [nzSpan]="16">是否显示已完成订单</nz-form-label>
|
|
|
<nz-form-control [nzSpan]="8">
|
|
|
<!-- 查询 -->
|
|
|
- <nz-switch [(ngModel)]="isSwitch" name="isSwitch"
|
|
|
- nzCheckedChildren="是"
|
|
|
- nzUnCheckedChildren="否" (ngModelChange)="isSwitchChange()">
|
|
|
- </nz-switch>
|
|
|
+ <nz-switch [(ngModel)]="isSwitch" name="isSwitch" nzCheckedChildren="是" nzUnCheckedChildren="否"
|
|
|
+ (ngModelChange)="isSwitchChange()">
|
|
|
+ </nz-switch>
|
|
|
</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
-</form>
|
|
|
-<div nz-row [nzGutter]="24">
|
|
|
- <div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="24">
|
|
|
- <nz-table class="tableTdPadding" nzSize="small" #columnTable nzBordered [nzData]="listOfData"
|
|
|
- [nzScroll]="{ x: widthLength+'px', y:'550px'}" [nzShowPagination]="false" [nzFrontPagination]="false">
|
|
|
- <thead>
|
|
|
- <tr>
|
|
|
- <!-- <th nzLeft="0px" nzWidth="60px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>序号</strong></th>
|
|
|
+
|
|
|
+ </form>
|
|
|
+ <div nz-row [nzGutter]="24">
|
|
|
+ <div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="24">
|
|
|
+ <nz-table class="tableTdPadding" nzSize="small" #columnTable nzBordered [nzData]="listOfData"
|
|
|
+ [nzScroll]="{ x: widthLength+'px', y:'550px'}" [nzShowPagination]="false" [nzFrontPagination]="false">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <!-- <th nzLeft="0px" nzWidth="60px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>序号</strong></th>
|
|
|
<th nzLeft="58px" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>项目名称</strong></th>
|
|
|
<th nzLeft="157px" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>生产订单号</strong></th>
|
|
|
<th nzLeft="265px" nzWidth="120px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>物料编码</strong></th>
|
|
|
<th nzLeft="383px" nzWidth="200px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>物料名称</strong></th> -->
|
|
|
-
|
|
|
- <th nzLeft="0px" rowSpan="2" nzWidth="60px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>序号</strong></th>
|
|
|
- <th nzLeft="58px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>项目名称</strong></th>
|
|
|
- <th nzLeft="157px" rowSpan="2" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>生产订单号</strong></th>
|
|
|
- <th nzLeft="265px" rowSpan="2" nzWidth="120px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>物料编码</strong></th>
|
|
|
- <th nzLeft="383px" rowSpan="2" nzWidth="200px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>物料名称</strong></th>
|
|
|
- <th nzLeft="580px" rowSpan="2" nzWidth="80px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>月度计划</strong></th>
|
|
|
- <th nzLeft="659px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>标准总工时</strong></th>
|
|
|
- <th nzLeft="758px" rowSpan="2" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>累计完成数量</strong></th>
|
|
|
- <th nzLeft="867px" rowSpan="2" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)"><strong>累计完成工时</strong></th>
|
|
|
- <ng-container *ngFor="let date of dateList">
|
|
|
- <th nzWidth="120px" nzAlign="center"><strong>当日计划数量</strong></th>
|
|
|
- <th nzWidth="120px" nzAlign="center"><strong>当日完成数量</strong></th>
|
|
|
- <th nzWidth="120px" nzAlign="center"><strong>当日完成工时 </strong></th>
|
|
|
- <th nzWidth="120px" nzAlign="center"><strong>当日标准工时</strong></th>
|
|
|
- <th nzWidth="120px" nzAlign="center"><strong>当日生产效率</strong></th>
|
|
|
- <th nzWidth="100px" nzAlign="center"><strong>当日达成率</strong></th>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <!-- <th colspan="5" nzLeft="0px"></th>
|
|
|
+
|
|
|
+ <th nzLeft="0px" rowSpan="2" nzWidth="60px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>序号</strong></th>
|
|
|
+ <th nzLeft="58px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>项目名称</strong></th>
|
|
|
+ <th nzLeft="157px" rowSpan="2" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>生产订单号</strong></th>
|
|
|
+ <th nzLeft="265px" rowSpan="2" nzWidth="120px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>物料编码</strong></th>
|
|
|
+ <th nzLeft="383px" rowSpan="2" nzWidth="200px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>物料名称</strong></th>
|
|
|
+ <th nzLeft="580px" rowSpan="2" nzWidth="80px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>月度计划</strong></th>
|
|
|
+ <th nzLeft="659px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>标准总工时</strong></th>
|
|
|
+ <th nzLeft="758px" rowSpan="2" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>累计完成数量</strong></th>
|
|
|
+ <th nzLeft="867px" rowSpan="2" nzWidth="110px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>累计完成工时</strong></th>
|
|
|
+ <ng-container *ngFor="let date of dateList">
|
|
|
+ <th nzWidth="120px" nzAlign="center"><strong>当日计划数量</strong></th>
|
|
|
+ <th nzWidth="120px" nzAlign="center"><strong>当日完成数量</strong></th>
|
|
|
+ <th nzWidth="120px" nzAlign="center"><strong>当日完成工时 </strong></th>
|
|
|
+ <th nzWidth="120px" nzAlign="center"><strong>当日标准工时</strong></th>
|
|
|
+ <th nzWidth="120px" nzAlign="center"><strong>当日生产效率</strong></th>
|
|
|
+ <th nzWidth="100px" nzAlign="center"><strong>当日达成率</strong></th>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <!-- <th colspan="5" nzLeft="0px"></th>
|
|
|
<th colspan="4" ></th> -->
|
|
|
- <!-- <th colspan="9" ></th> -->
|
|
|
- <ng-container *ngFor="let date of dateList;let i=index">
|
|
|
- <th colspan="6" *ngIf="i%2===0" style="background-color:rgb(223, 223, 219)"><strong>{{date.finalTime|date:'y-MM-dd'}}</strong></th>
|
|
|
- <th colspan="6" *ngIf="i%2!==0" ><strong>{{date.finalTime|date:'y-MM-dd'}}</strong></th>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- <tbody>
|
|
|
- <tr *ngFor="let data of columnTable.data;let i = index">
|
|
|
- <ng-container *ngIf="data.projectName!=='统计'&&data.isSwitch" >
|
|
|
- <!-- *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines" -->
|
|
|
- <td nzLeft="0px" nzAlign="center" *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.sort }}</td>
|
|
|
- <td nzLeft="58px" *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.projectName }}</td>
|
|
|
- <td nzLeft="157px" >{{ data.productionOrderNumberName }}</td>
|
|
|
- <td nzLeft="265px">{{data.productId}}</td>
|
|
|
- <td nzLeft="383px">{{data.product}}</td>
|
|
|
- <td nzLeft="580px" nzAlign="center">{{data.surplusNumberOfTasksTotal}}</td>
|
|
|
- <td nzLeft="659px" nzAlign="center">{{data.surplusStandardWorkingHoursTotal}}</td>
|
|
|
- <td nzLeft="758px" nzAlign="center">{{data.quantityCompletedTotal}}</td>
|
|
|
- <td nzLeft="867px" nzAlign="center">{{data.manHoursCompletedTotal}}</td>
|
|
|
- <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
|
|
|
- <td nzAlign="center">{{dateChild.numberOfTasks}}</td>
|
|
|
- <td nzAlign="center">{{dateChild.qualifiedNumber}}</td>
|
|
|
- <td nzAlign="center">{{dateChild.manHoursCompleted}}</td>
|
|
|
- <td nzAlign="center">{{dateChild.standardWorkingHours}}</td>
|
|
|
- <td nzAlign="center">
|
|
|
- <ng-container *ngIf="dateChild.productionEfficiency">{{dateChild.productionEfficiency}}%</ng-container>
|
|
|
- <ng-container *ngIf="!dateChild.productionEfficiency">0%</ng-container>
|
|
|
- </td>
|
|
|
- <td nzAlign="center">
|
|
|
- <ng-container *ngIf="dateChild.achievementRate">{{dateChild.achievementRate}}%</ng-container>
|
|
|
- <ng-container *ngIf="!dateChild.achievementRate">0%</ng-container>
|
|
|
- </td>
|
|
|
- </ng-container>
|
|
|
- </ng-container>
|
|
|
- </tr >
|
|
|
- <!-- 统计 -->
|
|
|
- <tr style="background-color:rgb(223, 223, 219)" *ngFor="let data of columnTable.data;let i = index">
|
|
|
- <ng-container *ngIf="data.projectName==='统计'">
|
|
|
- <td nzLeft="0px" style="background-color:rgb(223, 223, 219)"></td>
|
|
|
- <td nzLeft="58px" style="background-color:rgb(223, 223, 219);font-weight:bolder" nzAlign="center">
|
|
|
- <!-- 剩余工时 -->
|
|
|
- </td>
|
|
|
- <td nzLeft="157px" style="background-color:rgb(223, 223, 219)" nzAlign="center">
|
|
|
- <!-- {{data.remainingWorkTotal}} -->
|
|
|
- </td>
|
|
|
- <td nzLeft="265px" style="background-color:rgb(223, 223, 219);font-weight:bolder" nzAlign="center">统计</td>
|
|
|
- <td nzLeft="383px"></td>
|
|
|
- <td nzLeft="580px" nzAlign="center">{{data.surplusNumberOfTasksTotal}}</td>
|
|
|
- <td nzLeft="659px" nzAlign="center">{{data.surplusStandardWorkingHoursTotal}}</td>
|
|
|
- <td nzLeft="758px" nzAlign="center">{{data.quantityCompletedTotal}}</td>
|
|
|
- <td nzLeft="867px" nzAlign="center">{{data.manHoursCompletedTotal}}</td>
|
|
|
- <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
|
|
|
- <td nzAlign="center">{{dateChild.numberOfTasks}}</td>
|
|
|
- <td nzAlign="center">{{dateChild.qualifiedNumber}}</td>
|
|
|
- <td nzAlign="center">{{dateChild.manHoursCompleted}}</td>
|
|
|
- <td nzAlign="center">{{dateChild.standardWorkingHours}}</td>
|
|
|
- <td nzAlign="center">
|
|
|
- <ng-container *ngIf="dateChild.productionEfficiency">{{dateChild.productionEfficiency}}%</ng-container>
|
|
|
- <ng-container *ngIf="!dateChild.productionEfficiency">0%</ng-container>
|
|
|
- </td>
|
|
|
- <td nzAlign="center">
|
|
|
- <ng-container *ngIf="dateChild.achievementRate">{{dateChild.achievementRate}}%</ng-container>
|
|
|
- <ng-container *ngIf="!dateChild.achievementRate">0%</ng-container>
|
|
|
- </td>
|
|
|
- </ng-container>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr></tr>
|
|
|
- </tbody>
|
|
|
- <!-- 异常工时 -->
|
|
|
- <tbody>
|
|
|
- <tr>
|
|
|
- <!-- <td nzLeft="0px" colspan="5" rowSpan="8"></td> -->
|
|
|
- <td rowSpan="2" nzLeft="0px"></td>
|
|
|
- <td rowSpan="2" nzLeft="58px" nzAlign="center" style="font-weight:bolder">总达成率</td>
|
|
|
- <td rowSpan="2" nzLeft="157px" nzAlign="center">{{achievementRateTotal}}%</td>
|
|
|
- <td rowSpan="2" nzLeft="265px" nzAlign="center" style="font-weight:bolder">总生产效率</td>
|
|
|
- <td rowSpan="2" nzLeft="383px" nzAlign="center">{{productivityTotal}}%</td>
|
|
|
- <!-- <td>月计划达成率</td>
|
|
|
+ <!-- <th colspan="9" ></th> -->
|
|
|
+ <ng-container *ngFor="let date of dateList;let i=index">
|
|
|
+ <th colspan="6" *ngIf="i%2===0" style="background-color:rgb(223, 223, 219)">
|
|
|
+ <strong>{{date.finalTime|date:'y-MM-dd'}}</strong></th>
|
|
|
+ <th colspan="6" *ngIf="i%2!==0"><strong>{{date.finalTime|date:'y-MM-dd'}}</strong></th>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr *ngFor="let data of columnTable.data;let i = index">
|
|
|
+ <ng-container *ngIf="data.projectName!=='统计'&&data.isSwitch">
|
|
|
+ <!-- *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines" -->
|
|
|
+ <td nzLeft="0px" nzAlign="center" *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">
|
|
|
+ {{ data.sort }}</td>
|
|
|
+ <td nzLeft="58px" *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.projectName }}</td>
|
|
|
+ <td nzLeft="157px">{{ data.productionOrderNumberName }}</td>
|
|
|
+ <td nzLeft="265px">{{data.productId}}</td>
|
|
|
+ <td nzLeft="383px">{{data.product}}</td>
|
|
|
+ <td nzLeft="580px" nzAlign="center">{{data.surplusNumberOfTasksTotal}}</td>
|
|
|
+ <td nzLeft="659px" nzAlign="center">{{data.surplusStandardWorkingHoursTotal}}</td>
|
|
|
+ <td nzLeft="758px" nzAlign="center">{{data.quantityCompletedTotal}}</td>
|
|
|
+ <td nzLeft="867px" nzAlign="center">{{data.manHoursCompletedTotal}}</td>
|
|
|
+ <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
|
|
|
+ <td nzAlign="center">{{dateChild.numberOfTasks}}</td>
|
|
|
+ <td nzAlign="center">{{dateChild.qualifiedNumber}}</td>
|
|
|
+ <td nzAlign="center">{{dateChild.manHoursCompleted}}</td>
|
|
|
+ <td nzAlign="center">{{dateChild.standardWorkingHours}}</td>
|
|
|
+ <td nzAlign="center">
|
|
|
+ <ng-container *ngIf="dateChild.productionEfficiency">{{dateChild.productionEfficiency}}%
|
|
|
+ </ng-container>
|
|
|
+ <ng-container *ngIf="!dateChild.productionEfficiency">0%</ng-container>
|
|
|
+ </td>
|
|
|
+ <td nzAlign="center">
|
|
|
+ <ng-container *ngIf="dateChild.achievementRate">{{dateChild.achievementRate}}%</ng-container>
|
|
|
+ <ng-container *ngIf="!dateChild.achievementRate">0%</ng-container>
|
|
|
+ </td>
|
|
|
+ </ng-container>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <!-- 统计 -->
|
|
|
+ <tr style="background-color:rgb(223, 223, 219)" *ngFor="let data of columnTable.data;let i = index">
|
|
|
+ <ng-container *ngIf="data.projectName==='统计'">
|
|
|
+ <td nzLeft="0px" style="background-color:rgb(223, 223, 219)"></td>
|
|
|
+ <td nzLeft="58px" style="background-color:rgb(223, 223, 219);font-weight:bolder" nzAlign="center">
|
|
|
+ <!-- 剩余工时 -->
|
|
|
+ </td>
|
|
|
+ <td nzLeft="157px" style="background-color:rgb(223, 223, 219)" nzAlign="center">
|
|
|
+ <!-- {{data.remainingWorkTotal}} -->
|
|
|
+ </td>
|
|
|
+ <td nzLeft="265px" style="background-color:rgb(223, 223, 219);font-weight:bolder" nzAlign="center">统计</td>
|
|
|
+ <td nzLeft="383px"></td>
|
|
|
+ <td nzLeft="580px" nzAlign="center">{{data.surplusNumberOfTasksTotal}}</td>
|
|
|
+ <td nzLeft="659px" nzAlign="center">{{data.surplusStandardWorkingHoursTotal}}</td>
|
|
|
+ <td nzLeft="758px" nzAlign="center">{{data.quantityCompletedTotal}}</td>
|
|
|
+ <td nzLeft="867px" nzAlign="center">{{data.manHoursCompletedTotal}}</td>
|
|
|
+ <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
|
|
|
+ <td nzAlign="center">{{dateChild.numberOfTasks}}</td>
|
|
|
+ <td nzAlign="center">{{dateChild.qualifiedNumber}}</td>
|
|
|
+ <td nzAlign="center">{{dateChild.manHoursCompleted}}</td>
|
|
|
+ <td nzAlign="center">{{dateChild.standardWorkingHours}}</td>
|
|
|
+ <td nzAlign="center">
|
|
|
+ <ng-container *ngIf="dateChild.productionEfficiency">{{dateChild.productionEfficiency}}%
|
|
|
+ </ng-container>
|
|
|
+ <ng-container *ngIf="!dateChild.productionEfficiency">0%</ng-container>
|
|
|
+ </td>
|
|
|
+ <td nzAlign="center">
|
|
|
+ <ng-container *ngIf="dateChild.achievementRate">{{dateChild.achievementRate}}%</ng-container>
|
|
|
+ <ng-container *ngIf="!dateChild.achievementRate">0%</ng-container>
|
|
|
+ </td>
|
|
|
+ </ng-container>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr></tr>
|
|
|
+ </tbody>
|
|
|
+ <!-- 异常工时 -->
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <!-- <td nzLeft="0px" colspan="5" rowSpan="8"></td> -->
|
|
|
+ <td rowSpan="2" nzLeft="0px"></td>
|
|
|
+ <td rowSpan="2" nzLeft="58px" nzAlign="center" style="font-weight:bolder">总达成率</td>
|
|
|
+ <td rowSpan="2" nzLeft="157px" nzAlign="center">{{achievementRateTotal}}%</td>
|
|
|
+ <td rowSpan="2" nzLeft="265px" nzAlign="center" style="font-weight:bolder">总生产效率</td>
|
|
|
+ <td rowSpan="2" nzLeft="383px" nzAlign="center">{{productivityTotal}}%</td>
|
|
|
+ <!-- <td>月计划达成率</td>
|
|
|
<td>1.95%</td>
|
|
|
<td>月生产效率</td>
|
|
|
<td>根据生产计划进度。实时变化</td> -->
|
|
|
- <td nzLeft="580px" class="bolder">出勤总工时</td>
|
|
|
- <td nzLeft="659px" nzAlign="center">{{AbnormalWorkingHoursTotal.attendanceHours}}</td>
|
|
|
- <td nzLeft="758px" colSpan="2" nzAlign="right" class="bolder">出勤情况</td>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td >应到人数</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.numberOfPeopleToArrive}}</td>
|
|
|
- <td>实到人数</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.actualNumberOfPeople}}</td>
|
|
|
- <td>出勤工时</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.attendanceHours}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <!-- <td ></td>
|
|
|
+ <td nzLeft="580px" class="bolder">出勤总工时</td>
|
|
|
+ <td nzLeft="659px" nzAlign="center">{{AbnormalWorkingHoursTotal.attendanceHours}}</td>
|
|
|
+ <td nzLeft="758px" colSpan="2" nzAlign="right" class="bolder">出勤情况</td>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>应到人数</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.numberOfPeopleToArrive}}</td>
|
|
|
+ <td>实到人数</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.actualNumberOfPeople}}</td>
|
|
|
+ <td>出勤工时</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.attendanceHours}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <!-- <td ></td>
|
|
|
<td ></td>
|
|
|
<td ></td>
|
|
|
<td ></td>
|
|
|
<td ></td> -->
|
|
|
- <td nzLeft="580px" class="bolder">加班总工时</td>
|
|
|
- <td nzLeft="659px" nzAlign="center">{{AbnormalWorkingHoursTotal.overtimeHours}}</td>
|
|
|
- <td nzLeft="758px" colSpan="2" nzAlign="right" class="bolder">加班记录</td>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>加班工时</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.overtimeHours}}</td>
|
|
|
- <td>加班原因</td>
|
|
|
- <td colSpan="3">{{abnormalWorkingHours.overtimeReason}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <!-- <td rowSpan="2"></td>
|
|
|
+ <td nzLeft="580px" class="bolder">加班总工时</td>
|
|
|
+ <td nzLeft="659px" nzAlign="center">{{AbnormalWorkingHoursTotal.overtimeHours}}</td>
|
|
|
+ <td nzLeft="758px" colSpan="2" nzAlign="right" class="bolder">加班记录</td>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>加班工时</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.overtimeHours}}</td>
|
|
|
+ <td>加班原因</td>
|
|
|
+ <td colSpan="3">{{abnormalWorkingHours.overtimeReason}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <!-- <td rowSpan="2"></td>
|
|
|
<td rowSpan="2"></td>
|
|
|
<td rowSpan="2"></td>
|
|
|
<td rowSpan="2"></td>
|
|
|
<td rowSpan="2"></td> -->
|
|
|
- <!-- <td nzLeft="0px" rowSpan="2"></td>
|
|
|
+ <!-- <td nzLeft="0px" rowSpan="2"></td>
|
|
|
<td nzLeft="58px" rowSpan="2"></td>
|
|
|
<td nzLeft="157px" rowSpan="2"></td>
|
|
|
<td nzLeft="265px" rowSpan="2"></td>
|
|
|
<td nzLeft="383px" rowSpan="2"></td> -->
|
|
|
- <td nzLeft="0px" colspan="5" rowSpan="8"></td>
|
|
|
- <td nzLeft="580px" rowSpan="2" class="bolder">其他总工时</td>
|
|
|
- <td nzLeft="659px" rowSpan="2" nzAlign="center">{{AbnormalWorkingHoursTotal.train}}</td>
|
|
|
- <td nzLeft="758px" colSpan="2" rowSpan="2" nzAlign="right" class="bolder">其他工时统计</td>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>培训</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.train}}</td>
|
|
|
- <td>会议</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.meeting}}</td>
|
|
|
- <td>5S</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.fiveS}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>研发</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.researchAndDevelopment}}</td>
|
|
|
- <td></td>
|
|
|
- <td></td>
|
|
|
- <td></td>
|
|
|
- <td></td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <!-- <td rowSpan="3"></td>
|
|
|
+ <td nzLeft="0px" colspan="5" rowSpan="8"></td>
|
|
|
+ <td nzLeft="580px" rowSpan="2" class="bolder">其他总工时</td>
|
|
|
+ <td nzLeft="659px" rowSpan="2" nzAlign="center">{{AbnormalWorkingHoursTotal.train}}</td>
|
|
|
+ <td nzLeft="758px" colSpan="2" rowSpan="2" nzAlign="right" class="bolder">其他工时统计</td>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>培训</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.train}}</td>
|
|
|
+ <td>会议</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.meeting}}</td>
|
|
|
+ <td>5S</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.fiveS}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>研发</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.researchAndDevelopment}}</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <!-- <td rowSpan="3"></td>
|
|
|
<td rowSpan="3"></td>
|
|
|
<td rowSpan="3"></td>
|
|
|
<td rowSpan="3"></td>
|
|
|
<td rowSpan="3"></td> -->
|
|
|
- <!-- <td nzLeft="0px" rowSpan="3"></td>
|
|
|
+ <!-- <td nzLeft="0px" rowSpan="3"></td>
|
|
|
<td nzLeft="58px" rowSpan="3"></td>
|
|
|
<td nzLeft="157px" rowSpan="3"></td>
|
|
|
<td nzLeft="265px" rowSpan="3"></td>
|
|
|
<td nzLeft="383px" rowSpan="3"></td> -->
|
|
|
- <td nzLeft="580px" rowSpan="3" class="bolder">异常总工时统计</td>
|
|
|
- <td nzLeft="659px" rowSpan="3" nzAlign="center">{{AbnormalWorkingHoursTotal.abnormalWorkingHours}}</td>
|
|
|
- <td nzLeft="758px" colSpan="2" rowSpan="3" nzAlign="right" class="bolder">异常工时统计</td>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>质量</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.quality}}</td>
|
|
|
- <td>设计</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.design}}</td>
|
|
|
- <td>返工</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.rework}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>物料</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.materiel}}</td>
|
|
|
- <td>能源</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.energy}}</td>
|
|
|
- <td>其他</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.other}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>设备</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.equipment}}</td>
|
|
|
- <td>计划</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.plan}}</td>
|
|
|
- <td></td>
|
|
|
- <td></td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td nzLeft="580px" rowSpan="2" class="bolder">仓库总工时统计</td>
|
|
|
- <td nzLeft="659px" rowSpan="2" nzAlign="center">{{AbnormalWorkingHoursTotal.warehouse}}</td>
|
|
|
- <td nzLeft="758px" colSpan="2" rowSpan="2" nzAlign="right" class="bolder">仓库工时统计</td>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>配料</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.mixedIngredients}}</td>
|
|
|
- <td>入库</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.warehousing}}</td>
|
|
|
- <td>打包</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.pack}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td>其他</td>
|
|
|
- <td nzAlign="center">{{abnormalWorkingHours.warehouseOthers}}</td>
|
|
|
- <td>备注</td>
|
|
|
- <td nzAlign="center" colSpan="3">{{abnormalWorkingHours.memo}}</td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
+ <td nzLeft="580px" rowSpan="3" class="bolder">异常总工时统计</td>
|
|
|
+ <td nzLeft="659px" rowSpan="3" nzAlign="center">{{AbnormalWorkingHoursTotal.abnormalWorkingHours}}</td>
|
|
|
+ <td nzLeft="758px" colSpan="2" rowSpan="3" nzAlign="right" class="bolder">异常工时统计</td>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>质量</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.quality}}</td>
|
|
|
+ <td>设计</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.design}}</td>
|
|
|
+ <td>返工</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.rework}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>物料</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.materiel}}</td>
|
|
|
+ <td>能源</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.energy}}</td>
|
|
|
+ <td>其他</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.other}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>设备</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.equipment}}</td>
|
|
|
+ <td>计划</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.plan}}</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td nzLeft="580px" rowSpan="2" class="bolder">仓库总工时统计</td>
|
|
|
+ <td nzLeft="659px" rowSpan="2" nzAlign="center">{{AbnormalWorkingHoursTotal.warehouse}}</td>
|
|
|
+ <td nzLeft="758px" colSpan="2" rowSpan="2" nzAlign="right" class="bolder">仓库工时统计</td>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>配料</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.mixedIngredients}}</td>
|
|
|
+ <td>入库</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.warehousing}}</td>
|
|
|
+ <td>打包</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.pack}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td>其他</td>
|
|
|
+ <td nzAlign="center">{{abnormalWorkingHours.warehouseOthers}}</td>
|
|
|
+ <td>备注</td>
|
|
|
+ <td nzAlign="center" colSpan="3">{{abnormalWorkingHours.memo}}</td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
|
|
|
|
|
|
- <tr>
|
|
|
- <!-- <td ></td>
|
|
|
+ <tr>
|
|
|
+ <!-- <td ></td>
|
|
|
<td ></td>
|
|
|
<td ></td>
|
|
|
<td ></td>
|
|
|
<td ></td> -->
|
|
|
- <td nzLeft="580px" colSpan="4" class="bolder">异常原因描述</td>
|
|
|
- <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
- <td colSpan="6">
|
|
|
- <ng-container *ngFor="let describe of abnormalWorkingHours.fbsAbnormalWorkingHoursDescribeList">
|
|
|
- <ng-container *ngIf="describe.describes">
|
|
|
- {{describe.describes}}<br>
|
|
|
+ <td nzLeft="580px" colSpan="4" class="bolder">异常原因描述</td>
|
|
|
+ <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
|
|
|
+ <td colSpan="6">
|
|
|
+ <ng-container *ngFor="let describe of abnormalWorkingHours.fbsAbnormalWorkingHoursDescribeList">
|
|
|
+ <ng-container *ngIf="describe.describes">
|
|
|
+ {{describe.describes}}<br>
|
|
|
+ </ng-container>
|
|
|
</ng-container>
|
|
|
- </ng-container>
|
|
|
- </td>
|
|
|
- </ng-container>
|
|
|
- </tr>
|
|
|
+ </td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
|
|
|
- </tbody>
|
|
|
- </nz-table>
|
|
|
+ </tbody>
|
|
|
+ </nz-table>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
-</div>
|
|
|
-<form nz-form>
|
|
|
+ <form nz-form>
|
|
|
+ <div nz-row [nzGutter]="{xs:12,sm:15,md:29,lg: 36, xl: 40}">
|
|
|
+ <!-- 按钮 -->
|
|
|
+ <div nz-col nzXs="24" nzSm="4" nzLg="4">
|
|
|
+ <nz-form-item class="nz-form-item">
|
|
|
+ <nz-form-label [nzSpan]="2" [nzNoColon]="true"></nz-form-label>
|
|
|
+ <nz-form-control [nzSpan]="16">
|
|
|
+ <!-- 查询 -->
|
|
|
+ <button nz-button nzType="primary" (click)="export()" [nzLoading]="exportLoading">导出</button>
|
|
|
+ </nz-form-control>
|
|
|
+ </nz-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+
|
|
|
+</nz-spin>
|
|
|
+<nz-spin [nzSpinning]="planningReportLoading">
|
|
|
<div nz-row [nzGutter]="{xs:12,sm:15,md:29,lg: 36, xl: 40}">
|
|
|
- <!-- 按钮 -->
|
|
|
- <div nz-col nzXs="24" nzSm="4" nzLg="4">
|
|
|
- <nz-form-item class="nz-form-item">
|
|
|
- <nz-form-label [nzSpan]="2" [nzNoColon]="true"></nz-form-label>
|
|
|
- <nz-form-control [nzSpan]="16">
|
|
|
- <!-- 查询 -->
|
|
|
- <button nz-button nzType="primary" (click)="export()" [nzLoading]="exportLoading">导出</button>
|
|
|
- </nz-form-control>
|
|
|
- </nz-form-item>
|
|
|
+ <div nz-col nzXs="24" nzSm="4" nzLg="24" >
|
|
|
+ <nz-table class="tableTdPadding" nzSize="small" #columnTable2 nzBordered [nzData]="planningReportList"
|
|
|
+ [nzShowPagination]="false" [nzFrontPagination]="false">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th style="background-color:rgb(223, 223, 219);width: 20px;" ><strong>序号</strong></th>
|
|
|
+ <th style="background-color:rgb(223, 223, 219);width: 100px;" ><strong>生产订单</strong></th>
|
|
|
+ <th style="background-color:rgb(223, 223, 219);width: 100px;" ><strong>物料编码</strong></th>
|
|
|
+ <th style="background-color:rgb(223, 223, 219);width: 100px;" ><strong>物料名称</strong></th>
|
|
|
+ <th style="background-color:rgb(223, 223, 219);width: 20px;"><strong>数量</strong></th>
|
|
|
+ <th style="background-color:rgb(223, 223, 219);width: 20px;" ><strong>{{fbsWorkshopDispatchListPlanningReport.year}}</strong></th>
|
|
|
+ <ng-container *ngFor="let day of fbsWorkshopDispatchListPlanningReport.dayList">
|
|
|
+ <th style="background-color:rgb(223, 223, 219);padding: 2px;width: 20px;" >{{day}}</th>
|
|
|
+ </ng-container>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr *ngFor="let data of columnTable2.data;let i = index">
|
|
|
+ <td style="text-align: center;width: 20px;" >{{i+1}}</td>
|
|
|
+ <td style="width: 100px;">{{data.productionOrderNumberName}}</td>
|
|
|
+ <td style="width: 100px;">{{data.productId}}</td>
|
|
|
+ <td style="width: 100px;">{{data.product}}</td>
|
|
|
+ <td style="text-align: center;width: 20px;">{{data.numberOfTasks}}</td>
|
|
|
+ <td style="width: 20px;"></td>
|
|
|
+ <ng-container *ngFor="let color of data.isColor">
|
|
|
+ <ng-container *ngIf="color==='1'">
|
|
|
+ <td style="background-color:gold;width: 20px;"></td>
|
|
|
+ </ng-container>
|
|
|
+ <ng-container *ngIf="color==='0'">
|
|
|
+ <td></td>
|
|
|
+ </ng-container>
|
|
|
+ </ng-container>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </nz-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
-</form>
|
|
|
</nz-spin>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
<!-- <div nz-row [nzGutter]="24" class="pt-lg">
|
|
|
<div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="24">
|
|
|
<nz-card [nzLoading]="loading" [nzBordered]="false" [nzTitle]="'项目费用占比' | translate" class="mb-0">
|