|
@@ -0,0 +1,730 @@
|
|
|
+<!-- <div nz-row nzGutter="24">
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_normal">
|
|
|
+ CD01项目<br/>
|
|
|
+ 85%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_normal">
|
|
|
+ CD02项目<br/>
|
|
|
+ 50%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_normal">
|
|
|
+ CD03项目<br/>
|
|
|
+ 90%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_normal">
|
|
|
+ CD04项目<br/>
|
|
|
+ 40%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_danger">
|
|
|
+ CD05项目<br/>
|
|
|
+ 30%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_normal">
|
|
|
+ CD06项目<br/>
|
|
|
+ 25%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_danger">
|
|
|
+ CD07项目<br/>
|
|
|
+ 15%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+ <nz-col nzXs="12" nzSm="6" nzMd="3" nzLg="3">
|
|
|
+ <div class="block_normal">
|
|
|
+ CD08项目<br/>
|
|
|
+ 0%
|
|
|
+ </div>
|
|
|
+ </nz-col>
|
|
|
+</div> -->
|
|
|
+
|
|
|
+<!-- <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="{{'last.90.days.project.statistics' | translate}}"
|
|
|
+ class="mb-0">
|
|
|
+ <g2-pie *ngIf="isVisible" [data]="projectFeeData" [hasLegend]="true" [subTitle]="'项目状态(个数)' | translate" [height]="600"
|
|
|
+ [lineWidth]="4" [total]="projectFeeTotal" [valueFormat]="projectFeeFormat" [inner]="0.4">
|
|
|
+ </g2-pie>
|
|
|
+ </nz-card>
|
|
|
+ </div>
|
|
|
+</div> -->
|
|
|
+<!-- class="tableTdPadding" -->
|
|
|
+<!-- <th nzLeft="0px" nzWidth="60px"><strong>序号</strong></th>
|
|
|
+<th nzLeft="60px" nzWidth="100px"><strong>生产线</strong></th>
|
|
|
+<th nzLeft="160px" nzWidth="100px"><strong>生产订单号</strong></th> -->
|
|
|
+<nz-spin [nzSpinning]="saveLoading">
|
|
|
+ <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="8">
|
|
|
+ <nz-form-item class="nz-form-item">
|
|
|
+ <nz-form-label [nzSpan]="8">生产订单</nz-form-label>
|
|
|
+ <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="请选择" >
|
|
|
+ <ng-container *ngFor="let list of listOfDataSelect">
|
|
|
+ <nz-option [nzLabel]="list.productionOrderNumberName" [nzValue]="list.productionOrderNumberName"> </nz-option>
|
|
|
+ </ng-container>
|
|
|
+ </nz-select>
|
|
|
+ </nz-form-control>
|
|
|
+ </nz-form-item>
|
|
|
+ </div>
|
|
|
+ <div nz-col nzXs="24" nzSm="4" nzLg="4">
|
|
|
+ <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="请输入" />
|
|
|
+ </nz-form-control>
|
|
|
+ </nz-form-item>
|
|
|
+ </div>
|
|
|
+ <div nz-col nzXs="24" nzSm="4" nzLg="4">
|
|
|
+ <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="请输入" />
|
|
|
+ </nz-form-control>
|
|
|
+ </nz-form-item>
|
|
|
+ </div>
|
|
|
+ <!-- 按钮 -->
|
|
|
+ <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">
|
|
|
+ <!-- 查询 -->
|
|
|
+ <button nz-button nzType="primary" (click)="getSumDispatchReport()">查询</button>
|
|
|
+ </nz-form-control>
|
|
|
+ </nz-form-item>
|
|
|
+ </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-control [nzSpan]="8">
|
|
|
+ <!-- 查询 -->
|
|
|
+ <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>
|
|
|
+ <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 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>
|
|
|
+ <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 ></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 rowSpan="2"></td>
|
|
|
+ <td rowSpan="2"></td>
|
|
|
+ <td rowSpan="2"></td>
|
|
|
+ <td 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 rowSpan="3"></td>
|
|
|
+ <td rowSpan="3"></td>
|
|
|
+ <td rowSpan="3"></td>
|
|
|
+ <td 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>
|
|
|
+
|
|
|
+
|
|
|
+ <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>
|
|
|
+ </ng-container>
|
|
|
+ </ng-container>
|
|
|
+ </td>
|
|
|
+ </ng-container>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </nz-table>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+<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>
|
|
|
+<!-- <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">
|
|
|
+ <h4 class="margin:5px 0 5px 0;"></h4>
|
|
|
+ <nz-table [nzShowPagination]="false">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th rowspan="2">序号</th>
|
|
|
+ <th rowspan="2">任务</th>
|
|
|
+ <th rowspan="2">负责人</th>
|
|
|
+ <th rowspan="2">开始<br/>时间</th>
|
|
|
+ <th rowspan="2">完成<br/>时间</th>
|
|
|
+ <th rowspan="2">工期</th>
|
|
|
+ <th rowspan="2">进度</th>
|
|
|
+ <th colspan="2">19年2月</th>
|
|
|
+ <th colspan="2">19年3月</th>
|
|
|
+ <th colspan="2">19年4月</th>
|
|
|
+ <th colspan="2">19年5月</th>
|
|
|
+ <th colspan="2">19年6月</th>
|
|
|
+ <th colspan="2">19年7月</th>
|
|
|
+ <th colspan="2">19年8月</th>
|
|
|
+ <th colspan="2">19年9月</th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ <th>10</th>
|
|
|
+ <th>25</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <td>1</td>
|
|
|
+ <td>CD01</td>
|
|
|
+ <td>张三</td>
|
|
|
+ <td>20190201</td>
|
|
|
+ <td>20190620</td>
|
|
|
+ <td>100d</td>
|
|
|
+ <td>85%</td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>2</td>
|
|
|
+ <td>CD02</td>
|
|
|
+ <td>李四</td>
|
|
|
+ <td>20190301</td>
|
|
|
+ <td>20190926</td>
|
|
|
+ <td>150d</td>
|
|
|
+ <td>50%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>3</td>
|
|
|
+ <td>CD03</td>
|
|
|
+ <td>Jack</td>
|
|
|
+ <td>20190315</td>
|
|
|
+ <td>20190606</td>
|
|
|
+ <td>60d</td>
|
|
|
+ <td>90%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>4</td>
|
|
|
+ <td>CD04</td>
|
|
|
+ <td>Alise</td>
|
|
|
+ <td>20190401</td>
|
|
|
+ <td>20190816</td>
|
|
|
+ <td>100d</td>
|
|
|
+ <td>40%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>5</td>
|
|
|
+ <td>CD05</td>
|
|
|
+ <td>Tom</td>
|
|
|
+ <td>20190410</td>
|
|
|
+ <td>20190924</td>
|
|
|
+ <td>120d</td>
|
|
|
+ <td>30%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>6</td>
|
|
|
+ <td>CD06</td>
|
|
|
+ <td>王五</td>
|
|
|
+ <td>20190422</td>
|
|
|
+ <td>20190906</td>
|
|
|
+ <td>100d</td>
|
|
|
+ <td>25%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class="work_done"></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>7</td>
|
|
|
+ <td>CD07</td>
|
|
|
+ <td>超人</td>
|
|
|
+ <td>20190510</td>
|
|
|
+ <td>20190829</td>
|
|
|
+ <td>80d</td>
|
|
|
+ <td>15%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class="work_done"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>8</td>
|
|
|
+ <td>CD08</td>
|
|
|
+ <td>Mike</td>
|
|
|
+ <td>20190527</td>
|
|
|
+ <td>20190913</td>
|
|
|
+ <td>80d</td>
|
|
|
+ <td>0%</td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class=""></td>
|
|
|
+ <td class=""></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class="work_doing"></td>
|
|
|
+
|
|
|
+ <td class="work_doing"></td>
|
|
|
+ <td class=""></td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </nz-table>
|
|
|
+ </nz-card>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+<div nz-row [nzGutter]="24">
|
|
|
+ <div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="12">
|
|
|
+ <nz-card [nzLoading]="loading" [nzBordered]="false" [nzTitle]="'2018年度成本分析' | translate" class="mb-0">
|
|
|
+
|
|
|
+ <h4 class="margin:8px 0 32px 0;"></h4>
|
|
|
+ <g2-pie *ngIf="salesPieData" [data]="feeData" [hasLegend]="true" [subTitle]="'' | translate" [height]="248" [lineWidth]="4" [total]=""
|
|
|
+ [valueFormat]="feeFormat" [inner]="0">
|
|
|
+ </g2-pie>
|
|
|
+ </nz-card>
|
|
|
+ </div>
|
|
|
+ <div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="12">
|
|
|
+ <nz-card [nzLoading]="loading" [nzBordered]="false" [nzTitle]="'项目风险预警' | translate"
|
|
|
+ class="sales-card mb-0" >
|
|
|
+ <h4 class="margin:8px 0 32px 0;"></h4>
|
|
|
+ <g2-bar *ngIf="salesPieData" [data]="alertData" [height]="248" >
|
|
|
+ </g2-bar>
|
|
|
+ </nz-card>
|
|
|
+ </div>
|
|
|
+</div> -->
|