当前位置: 首页 > news >正文

带eachers的html转word

使用html-docx-js-typescript实现功能

<page-header [autoBreadcrumb]="false"/>
<nz-card><form [formGroup]="formItem" [nzLayout]="'inline'" nz-form><nz-form-item><nz-form-label>周期</nz-form-label><nz-form-control><nz-select formControlName="zqType"><nz-option nzLabel="季度" nzValue="季度"/><nz-option nzLabel="" nzValue=""/><nz-option nzLabel="" nzValue=""/></nz-select></nz-form-control></nz-form-item>@if (this.formItem.value.zqType === '季度') {<nz-form-item><nz-form-label>选择日期</nz-form-label><nz-form-control><nz-date-picker nzMode="quarter" formControlName="timeJd" nzFormat="yyyy年Q季度"[nzDateRender]="tplQuarterRender"/><ng-template #tplQuarterRender let-current><div class="ant-picker-cell-inner">{{ getQuarter(current) }}</div></ng-template></nz-form-control></nz-form-item>}@if (this.formItem.value.zqType === '年') {<nz-form-item><nz-form-label>选择日期</nz-form-label><nz-form-control><nz-date-picker nzMode="year" formControlName="timeNian"/></nz-form-control></nz-form-item>}@if (this.formItem.value.zqType === '月') {<nz-form-item><nz-form-label>选择日期</nz-form-label><nz-form-control><nz-date-picker nzMode="month" formControlName="timeYue"/></nz-form-control></nz-form-item>}<nz-form-item><nz-form-label nzFor="shipName" nzRequired>轮驳</nz-form-label><nz-form-control nzErrorTip="不能为空!"><nz-tree-select#nts(nzTreeCheckBoxChange)="checkBoxChange($event)"(nzTreeClick)="nzEvent($event)"[nzAllowClear]="false"[nzCheckStrictly]="true"[nzDefaultExpandAll]="true"[nzMaxTagCount]="3"[nzMaxTagPlaceholder]="omittedPlaceHolder"[nzNodes]="nodes"formControlName="shipName"nzPlaceHolder="请选择"nzShowSearchnzVirtualHeight="300px"style="width: 250px"/><ng-template #omittedPlaceHolder let-omittedValues>and {{ omittedValues.length }} more...</ng-template></nz-form-control></nz-form-item><button (click)="search()" nz-button nzType="primary">查询</button><button (click)=" exportDivToWord( {title: '2024年度项目报告',author: '技术部',margins: { top: 1.2, bottom: 1.2 },fonts: { body: '微软雅黑', heading: '黑体' }})" nz-button nzType="primary">下载</button></form><div #baogao *ngIf="formItem.value.zqType === '月' && yuedeobj !== null" style="margin-top: 1%"><h2 style="text-align: center">{{ getriqi() }}{{ getcbname() }}能耗分析报告</h2><div id="bjs" style="width: 90%; border: 1px black solid; margin: 0 auto; background-color: gainsboro"><p style="text-indent: 2em">{{ getcbname() }}本月燃油消耗{{ yuedeobj?.bqryl }} 吨,环比上月{{yuedeobj?.bqrylhb >= 0 ? '增加' + yuedeobj?.bqrylhb + '吨' : '减少' + Math.abs(yuedeobj?.bqrylhb) + '吨'}},同比去年同期{{yuedeobj?.bqryltb >= 0 ? '增加' + yuedeobj?.bqryltb + '吨' : '减少' + Math.abs(yuedeobj?.bqryltb) + '吨'}}。作业艘次{{ yuedeobj?.bqsoci }} 艘次,环比上月{{yuedeobj?.bqsocihb >= 0 ? '增加' + yuedeobj?.bqsocihb + '艘次' : '减少' + Math.abs(yuedeobj?.bqsocihb) + '艘次'}},同比去年同期{{yuedeobj?.bqsocitb >= 0 ? '增加' + yuedeobj?.bqsocitb + '艘次' : '减少' + Math.abs(yuedeobj?.bqsocitb) + '艘次'}}。主机小时{{ yuedeobj?.bqzjxs }}小时,环比上月{{yuedeobj?.bqzjxshb >= 0 ? '增加' + yuedeobj?.bqzjxshb + '小时' : '减少' + Math.abs(yuedeobj?.bqzjxshb) + '小时'}},同比去年同{{yuedeobj?.bqzjxstb >= 0 ? '增加' + yuedeobj?.bqzjxstb + '小时' : '减少' + Math.abs(yuedeobj?.bqzjxstb) + '小时'}}。航行里程{{ yuedeobj?.bqlc }} 海里,环比上月{{yuedeobj?.bqlchb >= 0 ? '增加' + yuedeobj?.bqlchb + '海里' : '减少' + Math.abs(yuedeobj?.bqlchb) + '海里'}},同比去年同期{{ yuedeobj?.bqlctb >= 0 ? '增加' + yuedeobj?.bqlctb + '海里' : '减少' + Math.abs(yuedeobj?.bqlctb) + '海里' }}。</p><p style="text-indent: 2em">作业艘次单耗{{ yuedeobj?.bqscdh }} 吨/艘次,环比上月{{yuedeobj?.bqscdhhb >= 0 ? '上升' + yuedeobj?.bqscdhhb + '%' : '下降' + Math.abs(yuedeobj?.bqscdhhb) + '%'}},同比去年同期{{yuedeobj?.bqscdhtb >= 0 ? '上升' + yuedeobj?.bqscdhtb + '%' : '下降' + Math.abs(yuedeobj?.bqscdhtb) + '%'}}。主机小时单耗{{ yuedeobj?.bqzjxsdh }}吨/小时,环比上月{{yuedeobj?.sqzjxsdhhb >= 0 ? '上升' + yuedeobj?.sqzjxsdhhb + '%' : '下降' + Math.abs(yuedeobj?.sqzjxsdhhb) + '%'}},同比去年同期{{yuedeobj?.tqzjxsdhtb >= 0 ? '上升' + yuedeobj?.tqzjxsdhtb + '%' : '下降' + Math.abs(yuedeobj?.tqzjxsdhtb) + '%'}}。 航行里程单耗{{ yuedeobj?.bqlcdh }}吨/海里,环比上月{{yuedeobj?.sqlcdhhb >= 0 ? '上升' + yuedeobj?.sqlcdhhb + '%' : '下降' + Math.abs(yuedeobj?.sqlcdhhb) + '%'}},同比去年同期{{ yuedeobj?.tqlcdhtb >= 0 ? '上升' + yuedeobj?.tqlcdhtb + '%' : '下降' + Math.abs(yuedeobj?.tqlcdhtb) + '%' }}平均艘次航行里程{{ yuedeobj?.bqpjschxlc }}海里/艘次,{{yuedeobj?.sqpjschxlc >= 0 ? '上升' + yuedeobj?.sqpjschxlc + '%' : '下降' + Math.abs(yuedeobj?.sqpjschxlc) + '%'}},同比去年同期{{ yuedeobj?.tqpjschxlc >= 0 ? '上升' + yuedeobj?.tqpjschxlc + '%' : '下降' + Math.abs(yuedeobj?.tqpjschxlc) + '%' }}。</p><p style="text-indent: 2em">一、环比分析及影响因素:(环比{{yuedeobj?.bqrylhb >= 0 ? '增加' + yuedeobj?.bqrylhb + '吨' : '减少' + Math.abs(yuedeobj?.bqrylhb) + '吨'}})</p><p *ngFor="let hbyItem of hbysList" style="text-indent: 4em">{{ hbyItem }}</p><div id="tu1" style="height: 40vh; width: 40vw; margin: 0 auto"></div><p style="text-indent: 2em">二、同比分析及影响因素:(同比{{yuedeobj?.bqryltb >= 0 ? '增加' + yuedeobj?.bqryltb + '吨' : '减少' + Math.abs(yuedeobj?.bqryltb) + '吨'}})</p><p *ngFor="let tbyItem of tbysList" style="text-indent: 4em">{{ tbyItem }}</p><div id="tu2" style="height: 40vh; width: 40vw; margin: 0 auto"></div></div></div><div #baogao *ngIf="formItem.value.zqType === '季度' && yuedeobj !== null" style="margin-top: 1%"><h2 style="text-align: center">{{ getriqi() }}{{ getcbname() }}能耗分析报告</h2><div style="width: 90%; border: 1px black solid; margin: 0 auto; background-color: gainsboro"><p style="text-indent: 2em">{{ getcbname() }}本季度燃油消耗{{ yuedeobj?.bqryl }} 吨,环比上季度{{yuedeobj?.bqrylhb >= 0 ? '增加' + yuedeobj?.bqrylhb + '吨' : '减少' + Math.abs(yuedeobj?.bqrylhb) + '吨'}},同比去年同期{{yuedeobj?.bqryltb >= 0 ? '增加' + yuedeobj?.bqryltb + '吨' : '减少' + Math.abs(yuedeobj?.bqryltb) + '吨'}}。作业艘次{{ yuedeobj?.bqsoci }} 艘次,环比上季度{{yuedeobj?.bqsocihb >= 0 ? '增加' + yuedeobj?.bqsocihb + '艘次' : '减少' + Math.abs(yuedeobj?.bqsocihb) + '艘次'}},同比去年同期{{yuedeobj?.bqsocitb >= 0 ? '增加' + yuedeobj?.bqsocitb + '艘次' : '减少' + Math.abs(yuedeobj?.bqsocitb) + '艘次'}}。主机小时{{ yuedeobj?.bqzjxs }}小时,环比上季度{{yuedeobj?.bqzjxshb >= 0 ? '增加' + yuedeobj?.bqzjxshb + '小时' : '减少' + Math.abs(yuedeobj?.bqzjxshb) + '小时'}},同比去年同{{yuedeobj?.bqzjxstb >= 0 ? '增加' + yuedeobj?.bqzjxstb + '小时' : '减少' + Math.abs(yuedeobj?.bqzjxstb) + '小时'}}。航行里程{{ yuedeobj?.bqlc }} 海里,环比上季度{{yuedeobj?.bqlchb >= 0 ? '增加' + yuedeobj?.bqlchb + '海里' : '减少' + Math.abs(yuedeobj?.bqlchb) + '海里'}},同比去年同期{{ yuedeobj?.bqlctb >= 0 ? '增加' + yuedeobj?.bqlctb + '海里' : '减少' + Math.abs(yuedeobj?.bqlctb) + '海里' }}。</p><p style="text-indent: 2em">作业艘次单耗{{ yuedeobj?.bqscdh }} 吨/艘次,环比上季度{{yuedeobj?.bqscdhhb >= 0 ? '上升' + yuedeobj?.bqscdhhb + '%' : '下降' + Math.abs(yuedeobj?.bqscdhhb) + '%'}},同比去年同期{{yuedeobj?.bqscdhtb >= 0 ? '上升' + yuedeobj?.bqscdhtb + '%' : '下降' + Math.abs(yuedeobj?.bqscdhtb) + '%'}}。主机小时单耗{{ yuedeobj?.bqzjxsdh }}吨/小时,环比上季度{{yuedeobj?.sqzjxsdhhb >= 0 ? '上升' + yuedeobj?.sqzjxsdhhb + '%' : '下降' + Math.abs(yuedeobj?.sqzjxsdhhb) + '%'}},同比去年同期{{yuedeobj?.tqzjxsdhtb >= 0 ? '上升' + yuedeobj?.tqzjxsdhtb + '%' : '下降' + Math.abs(yuedeobj?.tqzjxsdhtb) + '%'}}。 航行里程单耗{{ yuedeobj?.bqlcdh }}吨/海里,环比上季度{{yuedeobj?.sqlcdhhb >= 0 ? '上升' + yuedeobj?.sqlcdhhb + '%' : '下降' + Math.abs(yuedeobj?.sqlcdhhb) + '%'}},同比去年同期{{ yuedeobj?.tqlcdhtb >= 0 ? '上升' + yuedeobj?.tqlcdhtb + '%' : '下降' + Math.abs(yuedeobj?.tqlcdhtb) + '%' }}平均艘次航行里程{{ yuedeobj?.bqpjschxlc }}海里/艘次,{{yuedeobj?.sqpjschxlc >= 0 ? '上升' + yuedeobj?.sqpjschxlc + '%' : '下降' + Math.abs(yuedeobj?.sqpjschxlc) + '%'}},同比去年同期{{ yuedeobj?.tqpjschxlc >= 0 ? '上升' + yuedeobj?.tqpjschxlc + '%' : '下降' + Math.abs(yuedeobj?.tqpjschxlc) + '%' }}。</p><p style="text-indent: 2em">一、环比分析及影响因素:(环比{{yuedeobj?.bqrylhb >= 0 ? '增加' + yuedeobj?.bqrylhb + '吨' : '减少' + Math.abs(yuedeobj?.bqrylhb) + '吨'}})</p><p *ngFor="let hbyItem of hbysList" style="text-indent: 4em">{{ hbyItem }}</p><div id="tu1" style="height: 40vh; width: 40vw; margin: 0 auto"></div><p style="text-indent: 2em">二、同比分析及影响因素:(同比{{yuedeobj?.bqryltb >= 0 ? '增加' + yuedeobj?.bqryltb + '吨' : '减少' + Math.abs(yuedeobj?.bqryltb) + '吨'}})</p><p *ngFor="let tbyItem of tbysList" style="text-indent: 4em">{{ tbyItem }}</p><div id="tu2" style="height: 40vh; width: 40vw; margin: 0 auto"></div></div></div><div #baogao *ngIf="formItem.value.zqType === '年' && yuedeobj !== null" style="margin-top: 1%"><p style="text-indent: 2em">一、环比分析及影响因素:(环比{{yuedeobj?.bqrylhb >= 0 ? '增加' + yuedeobj?.bqrylhb + '吨' : '减少' + Math.abs(yuedeobj?.bqrylhb) + '吨'}})</p><div id="tu1" style="height: 40vh; width: 40vw; margin: 0 auto"></div></div></div>
</nz-card>
import {NgForOf, NgIf} from '@angular/common';
import {AfterViewInit, ChangeDetectorRef, Component, ElementRef, inject, OnInit, ViewChild} from '@angular/core';
import {FormBuilder, FormGroup, FormsModule, ReactiveFormsModule, Validators} from '@angular/forms';
import {PageHeaderComponent} from '@delon/abc/page-header';
import * as echarts from 'echarts';
import {EChartsType} from 'echarts';
import {saveAs} from 'file-saver';
import {asBlob} from 'html-docx-js-typescript';
import html2canvas from 'html2canvas';
import {jsPDF} from 'jspdf';
import moment from 'moment';
import {NzButtonModule} from 'ng-zorro-antd/button';
import {NzCardComponent} from 'ng-zorro-antd/card';
import {NzDatePickerComponent} from 'ng-zorro-antd/date-picker';
import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from 'ng-zorro-antd/form';
import {NzColDirective, NzRowDirective} from 'ng-zorro-antd/grid';
import {NzMessageService} from 'ng-zorro-antd/message';
import {NzOptionComponent, NzSelectComponent} from 'ng-zorro-antd/select';
import {NzSkeletonComponent} from 'ng-zorro-antd/skeleton';
import {NzTabComponent, NzTabSetComponent} from 'ng-zorro-antd/tabs';
import {NzFormatEmitEvent} from 'ng-zorro-antd/tree';
import {NzTreeSelectComponent} from 'ng-zorro-antd/tree-select';import {EnergyDataQueryService} from '../../data-query/data-query.service';
import {LcdhComponent} from '../dhfx/dhuanbifx/lcdh/lcdh.component';
import {SouciComponent} from '../dhfx/dhuanbifx/souci/souci.component';
import {WydhComponent} from '../dhfx/dhuanbifx/wydh/wydh.component';
import {XsdhComponent} from '../dhfx/dhuanbifx/xsdh/xsdh.component';
import {ZjzdhComponent} from '../dhfx/dhuanbifx/zjzdh/zjzdh.component';
import {CbynbgService} from './cbynbg.service';// 添加:定义配置项接口
interface DocxOptions {title?: string; // 文档标题(可选)author?: string; // 文档作者(可选)margins?: {// 页边距(可选)top?: number; // 上边距(英寸)bottom?: number; // 下边距(英寸)left?: number; // 左边距(英寸)right?: number; // 右边距(英寸)};fonts?: {// 字体配置(可选)body?: string; // 正文字体(如 '微软雅黑')heading?: string; // 标题字体(如 '黑体')};
}@Component({selector: 'app-cbynbg',standalone: true,imports: [NzButtonModule,PageHeaderComponent,LcdhComponent,NzCardComponent,NzTabComponent,NzTabSetComponent,SouciComponent,WydhComponent,XsdhComponent,ZjzdhComponent,FormsModule,NzColDirective,NzFormControlComponent,NzFormItemComponent,NzFormLabelComponent,NzRowDirective,NzTreeSelectComponent,ReactiveFormsModule,NzDatePickerComponent,NzOptionComponent,NzSelectComponent,NzDatePickerComponent,NzFormDirective,NgIf,NzSkeletonComponent,NgForOf],templateUrl: './cbynbg.component.html',styles: ``
})
export class CbynbgComponent implements OnInit {@ViewChild('nts') nts: NzTreeSelectComponent | undefined;@ViewChild('baogao') baogao!: ElementRef;nodes: any = [];option2: any = {tooltip: {trigger: 'item'},series: []};option: any = {tooltip: {trigger: 'item'},series: []};shipList: any = null;formItem: FormGroup;yuedeobj: any = null;hbysList: any[] = [];tbysList: any[] = [];jddeobj: any[] = [];ndeobj: any[] = [];protected readonly Math = Math;private readonly mess = inject(NzMessageService);private readonly cbynbgs = inject(CbynbgService);private readonly dataQueryService = inject(EnergyDataQueryService);private tu1echars!: EChartsType;private tu2echars!: EChartsType;constructor(private fb: FormBuilder,private cd: ChangeDetectorRef) {this.formItem = fb.group({zqType: ['月'],timeJd: [new Date()],timeNian: [new Date()],timeYue: [new Date()],shipName: [null, [Validators.required]]});}nzEvent(event: NzFormatEmitEvent): void {if (event.node?.level === 1) {event.node!.isChecked = false;event.node.getParentNode()!.isChecked = false;for (let child of event.node.getChildren()) {child.isChecked = !child.isChecked;}}}getQuarter(date: Date): string {const quarter = Math.floor((date.getMonth() + 3) / 3);const quarterMapper: Record<string, string> = {1: '一', 2: '二', 3: '三', 4: '四'};return `${quarterMapper[quarter]}季度`;}checkBoxChange($event: NzFormatEmitEvent) {let a = new Set();for (let nodesKey of $event.nodes!) {a.add(nodesKey.getParentNode()?.key);}if (a.size > 1) {let a1 = new Set();for (let nodesKey of $event.nodes!) {a1.add(nodesKey.getParentNode()?.getParentNode()?.key);}if (a1.size > 1 || a1.has(null) || a1.has(undefined)) {this.mess.create('error', '只能选择同类型的耗能单元!');}}}ngOnInit(): void {this.cbynbgs.getShipList().subscribe((res: any) => {this.shipList = res;});this.dataQueryService.getTreeDatareturnId().subscribe(res => {this.nodes = [];this.nodes.push(res);});this.formItem.patchValue({shipName: '总'});setTimeout(() => {this.search();}, 500);}getcbname() {if (this.nts?.value[0] == '总') {return '总体船舶';} else if (this.nts?.value[0] == '临港' || this.nts?.value[0] == '轮驳') {return `${this.nts?.value[0]}公司`;} else if (this.shipList !== null && this.shipList !== undefined) {let a = Array.of(...this.shipList);for (let shipListElement in a) {if (a[shipListElement].id == this.nts?.value[0]) {return a[shipListElement].shipName;}}} else {return '';}}getriqi() {if ('年' == this.formItem.value.zqType) {return moment(this.formItem.value.timeNian).format('YYYY年度');} else if ('月' == this.formItem.value.zqType) {return moment(this.formItem.value.timeYue).format('YYYY年MM月份');} else if ('季度' == this.formItem.value.zqType) {return moment(this.formItem.value.timeJd).format('YYYY年Q季度');} else {return '';}}// 将所有ECharts图表替换为图片async replaceChartsWithImages(container: HTMLElement) {const chartContainersArray1 = Array.from(container.querySelectorAll('#tu1'));const chartContainersArray2 = Array.from(container.querySelectorAll('#tu2'));const chartContainersArray = [...chartContainersArray1, ...chartContainersArray2];for (const chartContainer of chartContainersArray) {try {// 获取ECharts实例const chart = echarts.getInstanceByDom(chartContainer as HTMLDivElement);if (chart) {// 获取图表的Base64图片数据const chartImage = chart.getDataURL({type: 'png',pixelRatio: 1, // 提高图片质量backgroundColor: '#fff'});// 创建img元素替换原图表容器const img = document.createElement('img');img.src = chartImage;img.style.width = '50px';img.style.height = '50px';img.alt = 'ECharts图表';img.style.margin = '0 auto';img.style.border = 'none';// 替换原容器chartContainer.parentNode?.replaceChild(img, chartContainer);}} catch (error) {console.error('处理图表时出错:', error);}}}// 等待图表渲染完成的辅助函数waitForChartRender(chart: echarts.ECharts) {return new Promise<void>(resolve => {if ((chart as any).isReady()) {resolve();} else {chart.on('rendered', () => {resolve();chart.off('rendered'); // 避免内存泄漏});}});}async exportDivToWord(options?: DocxOptions) {// 1. 获取目标 div 元素const baogaoDiv = this.baogao.nativeElement as HTMLElement;let b = baogaoDiv.cloneNode(true) as HTMLElement;b.style.backgroundColor = '#fff';const bjsElement = b.querySelector('#bjs') as HTMLElement;bjsElement.style.backgroundColor = '#fff';bjsElement.style.border = 'none';if (!b) {alert('未找到指定的 div 元素');return;}await this.replaceChartsWithImages(b);// 2. 获取 div 的 HTML 内容(包含样式)const htmlContent = b.outerHTML;try {const result: Blob = (await asBlob(htmlContent, options)) as Blob;// 4. 下载 Word 文件(此时 docxBlob 是已解析的 Blob)saveAs(result, `aa.docx`, false);} catch (error) {console.error('转换失败:', error);alert('生成 Word 文档时出错,请重试');}}printDivAsPdf() {console.log(this.baogao.nativeElement);let a = this.baogao.nativeElement as HTMLElement;const bjsElement = a.querySelector('#bjs') as HTMLElement; // 获取id="bjs"的子元素bjsElement.style.backgroundColor = '#fff';console.log(bjsElement);html2canvas(a).then((canvas: HTMLCanvasElement) => {const imgData = canvas.toDataURL('image/png');const pdf = new jsPDF();const imgProps = pdf.getImageProperties(imgData);const pdfWidth = pdf.internal.pageSize.getWidth();const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;pdf.addImage(imgData, 'PNG', 2, 2, pdfWidth, pdfHeight);pdf.save('printable_echarts_div.pdf');});bjsElement.style.backgroundColor = 'gainsboro';}search() {if (this.formItem.valid) {const params: any = {zqType: this.formItem.value.zqType};try {if (this.formItem.value.zqType === '年') {params['opt'] = moment(this.formItem.value.timeNian).startOf('year').format('yyyy-MM-DD HH:mm:ss');params['ovt'] = moment(this.formItem.value.timeNian).endOf('year').format('yyyy-MM-DD HH:mm:ss');}if (this.formItem.value.zqType === '季度') {params['ovt'] = moment(this.formItem.value.timeJd).endOf('month').format('yyyy-MM-DD HH:mm:ss');params['opt'] = moment(this.formItem.value.timeJd).subtract(2, 'month').startOf('month').format('yyyy-MM-DD HH:mm:ss');}if (this.formItem.value.zqType === '月') {params['opt'] = moment(this.formItem.value.timeYue).startOf('month').format('yyyy-MM-DD HH:mm:ss');params['ovt'] = moment(this.formItem.value.timeYue).endOf('month').format('yyyy-MM-DD HH:mm:ss');}if (this.formItem.value.zqType === '日') {params['opt'] = moment(this.formItem.value.timeRi).startOf('day').format('yyyy-MM-DD HH:mm:ss');params['ovt'] = moment(this.formItem.value.timeRi).endOf('day').format('yyyy-MM-DD HH:mm:ss');}} catch (ex: any) {this.mess.create('error', '请选择日期范围');}if (this.formItem.value.shipName === '总') {params['ywlx'] = '总';} else if (Array.of('临港', '轮驳').includes(this.formItem.value.shipName)) {params['ywlx'] = '公司';} else {params['ywlx'] = '船舶';}params['xzdnhdy'] = this.formItem.value.shipName;this.cbynbgs.search(params).subscribe((res: any) => {if (this.formItem.value.zqType === '月') {this.yuedeobj = res;this.cd.detectChanges();this.hbysList = [];this.tbysList = [];// 减少集合let jshbysList: any[] = [];//增加集合let zjhbysList: any[] = [];// 减少集合let tjshbysList: any[] = [];//增加集合let tzjhbysList: any[] = [];// 第一项if (this.yuedeobj.bqsocihb >= 0) {zjhbysList.push(`本月作业艘次${this.yuedeobj.bqsoci}艘次,环比上月${this.yuedeobj?.bqsocihb >= 0 ? `增加${this.yuedeobj?.bqsocihb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocihb)}艘次`},约${this.yuedeobj?.tlscyxyhl >= 0 ? `增加油耗${this.yuedeobj?.tlscyxyhl}` : `减少油耗${Math.abs(this.yuedeobj?.tlscyxyhl)}`}`);} else {jshbysList.push(`本月作业艘次${this.yuedeobj.bqsoci}艘次,环比上月${this.yuedeobj?.bqsocihb >= 0 ? `增加${this.yuedeobj?.bqsocihb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocihb)}艘次`},约${this.yuedeobj?.tlscyxyhl >= 0 ? `增加油耗${this.yuedeobj?.tlscyxyhl}` : `减少油耗${Math.abs(this.yuedeobj?.tlscyxyhl)}`}`);}// 第二项if (this.yuedeobj?.sqgyhzysc >= 0) {zjhbysList.push(`本月高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,环比上月${this.yuedeobj?.sqgyhzysc >= 0 ? `增加${this.yuedeobj?.sqgyhzysc}艘次` : `减少${Math.abs(this.yuedeobj?.sqgyhzysc)}艘次`},约${this.yuedeobj?.gyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.gyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.gyhtlscyxzhsjyh)}`}`);} else {jshbysList.push(`本月高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,环比上月${this.yuedeobj?.sqgyhzysc >= 0 ? `增加${this.yuedeobj?.sqgyhzysc}艘次` : `减少${Math.abs(this.yuedeobj?.sqgyhzysc)}艘次`},约${this.yuedeobj?.gyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.gyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.gyhtlscyxzhsjyh)}`}`);}// 第三项if (this.yuedeobj?.yhyhbhz >= 0) {zjhbysList.push(`本月沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,上月消耗${this.yuedeobj?.sqyhyh}吨,约${this.yuedeobj?.yhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.yhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.yhyhbhz)}`}`);} else {jshbysList.push(`本月沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,上月消耗${this.yuedeobj?.sqyhyh}吨,约${this.yuedeobj?.yhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.yhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.yhyhbhz)}`}`);}// 第四项switch (params['ywlx']) {case '船舶':if (this.yuedeobj?.hbsqyhsc >= 0) {zjhbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次,环比上月约${this.yuedeobj?.hbsqyhsc >= 0 ? `增加${this.yuedeobj?.hbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.hbsqyhsc)}艘次`},环比上月约${this.yuedeobj?.hbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.hbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.hbsqyhscyzjyh)}`}`);} else {jshbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次,环比上月约${this.yuedeobj?.hbsqyhsc >= 0 ? `增加${this.yuedeobj?.hbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.hbsqyhsc)}艘次`},环比上月约${this.yuedeobj?.hbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.hbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.hbsqyhscyzjyh)}`}`);}break;case '公司':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {zjhbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上月接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本月拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}艘次`},`);} else {jshbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上月接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本月拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}艘次`},`);}break;case '总':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {zjhbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上月接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本月拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}艘次`},`);} else {jshbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上月接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本月拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}艘次`},`);}break;default:// 当 expression 的值与所有 case 的值都不匹配时执行的代码}// 第5项if (this.yuedeobj?.bqpjschxlchbsyzj >= 0) {zjhbysList.push(`本月平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,环比上月${this.yuedeobj?.bqpjschxlchbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlchbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlchbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlchbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlchbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlchbsyzjyh)}`}`);} else {jshbysList.push(`本月平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,环比上月${this.yuedeobj?.bqpjschxlchbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlchbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlchbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlchbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlchbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlchbsyzjyh)}`}`);}if (this.yuedeobj.bqrylhb >= 0) {this.hbysList.push(...zjhbysList);this.hbysList.push(...jshbysList);for (let item = 0; item < this.hbysList.length; item++) {this.hbysList[item] = `${item + 1}${this.hbysList[item]}`;}} else {this.hbysList.push(...jshbysList);this.hbysList.push(...zjhbysList);for (let item = 0; item < this.hbysList.length; item++) {this.hbysList[item] = `${item + 1}${this.hbysList[item]}`;}}this.hbysList.push(`综上所述,环比上月,作业因素导致本月油耗${this.yuedeobj?.bt1zyys >= 0 ? `增加${this.yuedeobj?.bt1zyys}` : `减少${Math.abs(this.yuedeobj?.bt1zyys)}`},调度因素导致本月油耗${this.yuedeobj?.bt1ddys >= 0 ? `增加${this.yuedeobj?.bt1ddys}` : `减少${Math.abs(this.yuedeobj?.bt1ddys)}`},其它因素导致本月油耗${this.yuedeobj?.bt1qtys >= 0 ? `增加${this.yuedeobj?.bt1qtys}` : `减少${Math.abs(this.yuedeobj?.bt1qtys)}`}`);// 第一项if (this.yuedeobj.bqsocitb >= 0) {tzjhbysList.push(`本月作业艘次${this.yuedeobj.bqsoci}艘次,同比去年同期${this.yuedeobj?.bqsocitb >= 0 ? `增加${this.yuedeobj?.bqsocitb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocitb)}艘次`},约${this.yuedeobj?.bqsocitbyh >= 0? `增加油耗${this.yuedeobj?.bqsocitbyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqsocitbyh)}`}`);} else {tjshbysList.push(`本月作业艘次${this.yuedeobj.bqsoci}艘次,同比去年同期${this.yuedeobj?.bqsocitb >= 0 ? `增加${this.yuedeobj?.bqsocitb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocitb)}艘次`},约${this.yuedeobj?.bqsocitbyh >= 0? `增加油耗${this.yuedeobj?.bqsocitbyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqsocitbyh)}`}`);}// 第二项if (this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0) {tzjhbysList.push(`本月高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,同比去年同期${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加${this.yuedeobj?.tbgyhtlscyxzhsjyh}艘次`: `减少${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}艘次`},约${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.tbgyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}`}`);} else {tjshbysList.push(`本月高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,同比去年同期${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加${this.yuedeobj?.tbgyhtlscyxzhsjyh}艘次`: `减少${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}艘次`},约${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.tbgyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}`}`);}// 第三项if (this.yuedeobj?.tbyhyhbhz >= 0) {tzjhbysList.push(`本月沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,同比去年同期约${this.yuedeobj?.tbyhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.tbyhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.tbyhyhbhz)}`}`);} else {tjshbysList.push(`本月沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,同比去年同期约${this.yuedeobj?.tbyhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.tbyhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.tbyhyhbhz)}`}`);}// 第四项switch (params['ywlx']) {case '船舶':if (this.yuedeobj?.tbsqyhsc >= 0) {tzjhbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次,同比去年同期约${this.yuedeobj?.tbsqyhsc >= 0 ? `增加${this.yuedeobj?.tbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.tbsqyhsc)}艘次`},同比去年同期约${this.yuedeobj?.tbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.tbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbsqyhscyzjyh)}`}`);} else {tjshbysList.push(`本月接送引水作业${this.yuedeobj?.yhsc}艘次,同比去年同期约${this.yuedeobj?.tbsqyhsc >= 0 ? `增加${this.yuedeobj?.tbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.tbsqyhsc)}艘次`},同比去年同期约${this.yuedeobj?.tbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.tbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbsqyhscyzjyh)}`}`);}break;case '公司':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {tzjhbysList.push(`本月度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本月度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}`},`);} else {tjshbysList.push(`本月度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本月度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}`},`);}break;case '总':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {tzjhbysList.push(`本月度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本月度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}`},`);} else {tjshbysList.push(`本月度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本月度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}`},`);}break;default:// 当 expression 的值与所有 case 的值都不匹配时执行的代码}// 第5项if (this.yuedeobj?.bqpjschxlchbsyzj >= 0) {tzjhbysList.push(`本月平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,同比去年同期${this.yuedeobj?.bqpjschxlctbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlctbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlctbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlctbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlctbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlctbsyzjyh)}`}`);} else {tjshbysList.push(`本月平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,同比去年同期${this.yuedeobj?.bqpjschxlctbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlctbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlctbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlctbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlctbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlctbsyzjyh)}`}`);}if (this.yuedeobj.bqsocitbyh >= 0) {this.tbysList.push(...tzjhbysList);this.tbysList.push(...tjshbysList);for (let item = 0; item < this.tbysList.length; item++) {this.tbysList[item] = `${item + 1}${this.tbysList[item]}`;}} else {this.tbysList.push(...tjshbysList);this.tbysList.push(...tzjhbysList);for (let item = 0; item < this.tbysList.length; item++) {this.tbysList[item] = `${item + 1}${this.tbysList[item]}`;}}this.tbysList.push(`综上所述,环比去年同期,作业因素导致本月油耗${this.yuedeobj?.bt2zyys >= 0 ? `增加${this.yuedeobj?.bt2zyys}` : `减少${Math.abs(this.yuedeobj?.bt2zyys)}`},调度因素导致本月油耗${this.yuedeobj?.bt2ddys >= 0 ? `增加${this.yuedeobj?.bt2ddys}` : `减少${Math.abs(this.yuedeobj?.bt2ddys)}`},其它因素导致本月油耗${this.yuedeobj?.bt2qtys >= 0 ? `增加${this.yuedeobj?.bt2qtys}` : `减少${Math.abs(this.yuedeobj?.bt2qtys)}`}`);this.option['series'] = [{name: 'Access From',type: 'pie',radius: '50%',label: {show: true,formatter: '{b}: {c} ({d}%)'},data: this.yuedeobj?.bt1,emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}];this.tu1echars = echarts.init(window.document.getElementById('tu1'));this.tu1echars.setOption(this.option);this.option2['series'] = [{name: 'Access From',type: 'pie',radius: '50%',label: {show: true,formatter: '{b}: {c} ({d}%)'},data: this.yuedeobj?.bt2,emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}];this.tu2echars = echarts.init(window.document.getElementById('tu2'));this.tu2echars.setOption(this.option2);} else if (this.formItem.value.zqType === '季度') {this.yuedeobj = res;this.cd.detectChanges();this.hbysList = [];this.tbysList = [];// 减少集合let jshbysList: any[] = [];//增加集合let zjhbysList: any[] = [];// 减少集合let tjshbysList: any[] = [];//增加集合let tzjhbysList: any[] = [];// 第一项if (this.yuedeobj.bqsocihb >= 0) {zjhbysList.push(`本季度作业艘次${this.yuedeobj.bqsoci}艘次,环比上季度${this.yuedeobj?.bqsocihb >= 0 ? `增加${this.yuedeobj?.bqsocihb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocihb)}艘次`},约${this.yuedeobj?.tlscyxyhl >= 0 ? `增加油耗${this.yuedeobj?.tlscyxyhl}` : `减少油耗${Math.abs(this.yuedeobj?.tlscyxyhl)}`}`);} else {jshbysList.push(`本季度作业艘次${this.yuedeobj.bqsoci}艘次,环比上季度${this.yuedeobj?.bqsocihb >= 0 ? `增加${this.yuedeobj?.bqsocihb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocihb)}艘次`},约${this.yuedeobj?.tlscyxyhl >= 0 ? `增加油耗${this.yuedeobj?.tlscyxyhl}` : `减少油耗${Math.abs(this.yuedeobj?.tlscyxyhl)}`}`);}// 第二项if (this.yuedeobj?.sqgyhzysc >= 0) {zjhbysList.push(`本季度高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,环比上季度${this.yuedeobj?.sqgyhzysc >= 0 ? `增加${this.yuedeobj?.sqgyhzysc}艘次` : `减少${Math.abs(this.yuedeobj?.sqgyhzysc)}艘次`},约${this.yuedeobj?.gyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.gyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.gyhtlscyxzhsjyh)}`}`);} else {jshbysList.push(`本季度高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,环比上季度${this.yuedeobj?.sqgyhzysc >= 0 ? `增加${this.yuedeobj?.sqgyhzysc}艘次` : `减少${Math.abs(this.yuedeobj?.sqgyhzysc)}艘次`},约${this.yuedeobj?.gyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.gyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.gyhtlscyxzhsjyh)}`}`);}// 第三项if (this.yuedeobj?.yhyhbhz >= 0) {zjhbysList.push(`本季度沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,上季度消耗${this.yuedeobj?.sqyhyh}吨,约${this.yuedeobj?.yhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.yhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.yhyhbhz)}`}`);} else {jshbysList.push(`本季度沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,上季度消耗${this.yuedeobj?.sqyhyh}吨,约${this.yuedeobj?.yhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.yhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.yhyhbhz)}`}`);}// 第四项switch (params['ywlx']) {case '船舶':if (this.yuedeobj?.hbsqyhsc >= 0) {zjhbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次,环比上季度约${this.yuedeobj?.hbsqyhsc >= 0 ? `增加${this.yuedeobj?.hbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.hbsqyhsc)}艘次`},环比上季度约${this.yuedeobj?.hbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.hbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.hbsqyhscyzjyh)}`}`);} else {jshbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次,环比上季度约${this.yuedeobj?.hbsqyhsc >= 0 ? `增加${this.yuedeobj?.hbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.hbsqyhsc)}艘次`},环比上季度约${this.yuedeobj?.hbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.hbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.hbsqyhscyzjyh)}`}`);}break;case '公司':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {zjhbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上季度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本季度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);} else {jshbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上季度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本季度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);}break;case '总':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {zjhbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上季度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本季度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);} else {jshbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上季度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本季度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);}break;default:// 当 expression 的值与所有 case 的值都不匹配时执行的代码}// 第5项if (this.yuedeobj?.bqpjschxlchbsyzj >= 0) {zjhbysList.push(`本季度平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,环比上季度${this.yuedeobj?.bqpjschxlchbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlchbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlchbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlchbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlchbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlchbsyzjyh)}`}`);} else {jshbysList.push(`本季度平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,环比上季度${this.yuedeobj?.bqpjschxlchbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlchbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlchbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlchbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlchbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlchbsyzjyh)}`}`);}if (this.yuedeobj.bqrylhb >= 0) {this.hbysList.push(...zjhbysList);this.hbysList.push(...jshbysList);for (let item = 0; item < this.hbysList.length; item++) {this.hbysList[item] = `${item + 1}${this.hbysList[item]}`;}} else {this.hbysList.push(...jshbysList);this.hbysList.push(...zjhbysList);for (let item = 0; item < this.hbysList.length; item++) {this.hbysList[item] = `${item + 1}${this.hbysList[item]}`;}}this.hbysList.push(`综上所述,环比上季度,作业因素导致本季度油耗${this.yuedeobj?.bt1zyys >= 0 ? `增加${this.yuedeobj?.bt1zyys}` : `减少${Math.abs(this.yuedeobj?.bt1zyys)}`},调度因素导致本季度油耗${this.yuedeobj?.bt1ddys >= 0 ? `增加${this.yuedeobj?.bt1ddys}` : `减少${Math.abs(this.yuedeobj?.bt1ddys)}`},其它因素导致本季度油耗${this.yuedeobj?.bt1qtys >= 0 ? `增加${this.yuedeobj?.bt1qtys}` : `减少${Math.abs(this.yuedeobj?.bt1qtys)}`}`);// 第一项if (this.yuedeobj.bqsocitb >= 0) {tzjhbysList.push(`本季度作业艘次${this.yuedeobj.bqsoci}艘次,同比去年同期${this.yuedeobj?.bqsocitb >= 0 ? `增加${this.yuedeobj?.bqsocitb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocitb)}艘次`},约${this.yuedeobj?.bqsocitbyh >= 0? `增加油耗${this.yuedeobj?.bqsocitbyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqsocitbyh)}`}`);} else {tjshbysList.push(`本季度作业艘次${this.yuedeobj.bqsoci}艘次,同比去年同期${this.yuedeobj?.bqsocitb >= 0 ? `增加${this.yuedeobj?.bqsocitb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocitb)}艘次`},约${this.yuedeobj?.bqsocitbyh >= 0? `增加油耗${this.yuedeobj?.bqsocitbyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqsocitbyh)}`}`);}// 第二项if (this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0) {tzjhbysList.push(`本季度高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,同比去年同期${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加${this.yuedeobj?.tbgyhtlscyxzhsjyh}艘次`: `减少${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}艘次`},约${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.tbgyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}`}`);} else {tjshbysList.push(`本季度高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,同比去年同期${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加${this.yuedeobj?.tbgyhtlscyxzhsjyh}艘次`: `减少${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}艘次`},约${this.yuedeobj?.tbgyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.tbgyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbgyhtlscyxzhsjyh)}`}`);}// 第三项if (this.yuedeobj?.tbyhyhbhz >= 0) {tzjhbysList.push(`本季度沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,同比去年同期约${this.yuedeobj?.tbyhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.tbyhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.tbyhyhbhz)}`}`);} else {tjshbysList.push(`本季度沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,同比去年同期约${this.yuedeobj?.tbyhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.tbyhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.tbyhyhbhz)}`}`);}// 第四项switch (params['ywlx']) {case '船舶':if (this.yuedeobj?.tbsqyhsc >= 0) {tzjhbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次,同比去年同期${this.yuedeobj?.tbsqyhsc >= 0 ? `增加${this.yuedeobj?.tbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.tbsqyhsc)}艘次`},同比去年同期约${this.yuedeobj?.tbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.tbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbsqyhscyzjyh)}`}`);} else {tjshbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次,同比去年同期${this.yuedeobj?.tbsqyhsc >= 0 ? `增加${this.yuedeobj?.tbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.tbsqyhsc)}艘次`},同比去年同期约${this.yuedeobj?.tbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.tbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.tbsqyhscyzjyh)}`}`);}break;case '公司':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {tzjhbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本季度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}艘次`},`);} else {tjshbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本季度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}艘次`},`);}break;case '总':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {tzjhbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本季度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}艘次`},`);} else {tjshbysList.push(`本季度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),去年同期接送引水作业${this.yuedeobj?.tqyhsc}艘次(拖轮${this.yuedeobj?.tqyhscshuyuTuolun}艘次,占比${this.yuedeobj?.tqyhscshujuzb}%),本季度拖轮接送引水作业艘次同比${this.yuedeobj?.bjdtlyhsctb > 0 ? `增加${this.yuedeobj?.bjdtlyhsctb}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctb)}艘次`},接送引水作业总艘次同比${this.yuedeobj?.bjdtlyhsctbz > 0 ? `增加${this.yuedeobj?.bjdtlyhsctbz}艘次` : `减少${Math.abs(this.yuedeobj?.bjdtlyhsctbz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhitb)}艘次`},`);}break;default:// 当 expression 的值与所有 case 的值都不匹配时执行的代码}// 第5项if (this.yuedeobj?.bqpjschxlchbsyzj >= 0) {tzjhbysList.push(`本季度平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,同比去年同期${this.yuedeobj?.bqpjschxlctbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlctbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlctbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlctbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlctbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlctbsyzjyh)}`}`);} else {tjshbysList.push(`本季度平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,同比去年同期${this.yuedeobj?.bqpjschxlctbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlctbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlctbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlctbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlctbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlctbsyzjyh)}`}`);}if (this.yuedeobj.bqsocitbyh >= 0) {this.tbysList.push(...tzjhbysList);this.tbysList.push(...tjshbysList);for (let item = 0; item < this.tbysList.length; item++) {this.tbysList[item] = `${item + 1}${this.tbysList[item]}`;}} else {this.tbysList.push(...tjshbysList);this.tbysList.push(...tzjhbysList);for (let item = 0; item < this.tbysList.length; item++) {this.tbysList[item] = `${item + 1}${this.tbysList[item]}`;}}this.tbysList.push(`综上所述,环比去年同期,作业因素导致本季度油耗${this.yuedeobj?.bt2zyys >= 0 ? `增加${this.yuedeobj?.bt2zyys}` : `减少${Math.abs(this.yuedeobj?.bt2zyys)}`},调度因素导致本季度油耗${this.yuedeobj?.bt2ddys >= 0 ? `增加${this.yuedeobj?.bt2ddys}` : `减少${Math.abs(this.yuedeobj?.bt2ddys)}`},其它因素导致本季度油耗${this.yuedeobj?.bt2qtys >= 0 ? `增加${this.yuedeobj?.bt2qtys}` : `减少${Math.abs(this.yuedeobj?.bt2qtys)}`}`);this.option['series'] = [{name: 'Access From',type: 'pie',radius: '50%',label: {show: true,formatter: '{b}: {c} ({d}%)'},data: this.yuedeobj?.bt1,emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}];this.tu1echars = echarts.init(window.document.getElementById('tu1'));this.tu1echars.setOption(this.option);this.option2['series'] = [{name: 'Access From',type: 'pie',radius: '50%',label: {show: true,formatter: '{b}: {c} ({d}%)'},data: this.yuedeobj?.bt2,emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}];this.tu2echars = echarts.init(window.document.getElementById('tu2'));this.tu2echars.setOption(this.option2);} else if (this.formItem.value.zqType === '年') {this.yuedeobj = res;this.cd.detectChanges();this.hbysList = [];// 减少集合let jshbysList: any[] = [];//增加集合let zjhbysList: any[] = [];// 第一项if (this.yuedeobj.bqsocihb >= 0) {zjhbysList.push(`本年度作业艘次${this.yuedeobj.bqsoci}艘次,环比上年度${this.yuedeobj?.bqsocihb >= 0 ? `增加${this.yuedeobj?.bqsocihb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocihb)}艘次`},约${this.yuedeobj?.tlscyxyhl >= 0 ? `增加油耗${this.yuedeobj?.tlscyxyhl}` : `减少油耗${Math.abs(this.yuedeobj?.tlscyxyhl)}`}`);} else {jshbysList.push(`本年度作业艘次${this.yuedeobj.bqsoci}艘次,环比上年度${this.yuedeobj?.bqsocihb >= 0 ? `增加${this.yuedeobj?.bqsocihb}艘次` : `减少${Math.abs(this.yuedeobj?.bqsocihb)}艘次`},约${this.yuedeobj?.tlscyxyhl >= 0 ? `增加油耗${this.yuedeobj?.tlscyxyhl}` : `减少油耗${Math.abs(this.yuedeobj?.tlscyxyhl)}`}`);}// 第二项if (this.yuedeobj?.sqgyhzysc >= 0) {zjhbysList.push(`本年度高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,环比上年度${this.yuedeobj?.sqgyhzysc >= 0 ? `增加${this.yuedeobj?.sqgyhzysc}艘次` : `减少${Math.abs(this.yuedeobj?.sqgyhzysc)}艘次`},约${this.yuedeobj?.gyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.gyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.gyhtlscyxzhsjyh)}`}`);} else {jshbysList.push(`本年度高油耗作业艘次${this.yuedeobj?.bqgyhzysc}艘次,环比上年度${this.yuedeobj?.sqgyhzysc >= 0 ? `增加${this.yuedeobj?.sqgyhzysc}艘次` : `减少${Math.abs(this.yuedeobj?.sqgyhzysc)}艘次`},约${this.yuedeobj?.gyhtlscyxzhsjyh >= 0? `增加油耗${this.yuedeobj?.gyhtlscyxzhsjyh}`: `减少油耗${Math.abs(this.yuedeobj?.gyhtlscyxzhsjyh)}`}`);}// 第三项if (this.yuedeobj?.yhyhbhz >= 0) {zjhbysList.push(`本年度沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,上年度消耗${this.yuedeobj?.sqyhyh}吨,约${this.yuedeobj?.yhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.yhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.yhyhbhz)}`}`);} else {jshbysList.push(`本年度沿海作业燃油消耗${this.yuedeobj?.bqyhyh}吨,上年度消耗${this.yuedeobj?.sqyhyh}吨,约${this.yuedeobj?.yhyhbhz >= 0 ? `增加油耗${this.yuedeobj?.yhyhbhz}` : `减少油耗${Math.abs(this.yuedeobj?.yhyhbhz)}`}`);}// 第四项switch (params['ywlx']) {case '船舶':if (this.yuedeobj?.hbsqyhsc >= 0) {zjhbysList.push(`本年度接送引水作业${this.yuedeobj?.yhsc}艘次,环比上年度约${this.yuedeobj?.hbsqyhsc >= 0 ? `增加${this.yuedeobj?.hbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.hbsqyhsc)}艘次`},环比上年度约${this.yuedeobj?.hbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.hbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.hbsqyhscyzjyh)}`}`);} else {jshbysList.push(`本年度接送引水作业${this.yuedeobj?.yhsc}艘次,环比上年度约${this.yuedeobj?.hbsqyhsc >= 0 ? `增加${this.yuedeobj?.hbsqyhsc}艘次` : `减少${Math.abs(this.yuedeobj?.hbsqyhsc)}艘次`},环比上年度约${this.yuedeobj?.hbsqyhscyzjyh >= 0? `增加油耗${this.yuedeobj?.hbsqyhscyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.hbsqyhscyzjyh)}`}`);}break;case '公司':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {zjhbysList.push(`本年度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上年度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本年度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);} else {jshbysList.push(`本年度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上年度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本年度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);}break;case '总':if (this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi >= 0) {zjhbysList.push(`本年度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上年度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本年度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);} else {jshbysList.push(`本年度接送引水作业${this.yuedeobj?.yhsc}艘次(拖轮${this.yuedeobj?.bqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.bqjsyszyztlzzdz}%),上年度接送引水作业${this.yuedeobj?.sqyhsc}艘次(拖轮${this.yuedeobj?.sqtuolunzuoyinshuizuoyedesouoci}艘次,占比${this.yuedeobj?.sqjsyszyztlzzdz}%),本年度拖轮接送引水作业艘次环比${this.yuedeobj?.bqtlyszyschbsqbhz > 0 ? `增加${this.yuedeobj?.bqtlyszyschbsqbhz}艘次` : `减少${Math.abs(this.yuedeobj?.bqtlyszyschbsqbhz)}艘次`},接送引水作业总艘次环比${this.yuedeobj?.zjsyszyhbbhz > 0 ? `增加${this.yuedeobj?.zjsyszyhbbhz}艘次` : `减少${Math.abs(this.yuedeobj?.zjsyszyhbbhz)}艘次`},约总共${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi > 0 ? `增加油耗${this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi}艘次` : `减少油耗${Math.abs(this.yuedeobj?.jsyszuoyscyxbhuayouhaozhi)}`},`);}break;default:// 当 expression 的值与所有 case 的值都不匹配时执行的代码}// 第5项if (this.yuedeobj?.bqpjschxlchbsyzj >= 0) {zjhbysList.push(`本年度平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,环比上年度${this.yuedeobj?.bqpjschxlchbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlchbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlchbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlchbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlchbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlchbsyzjyh)}`}`);} else {jshbysList.push(`本年度平均艘次航行里程${this.yuedeobj?.bqpjschxlc}海里/艘次,环比上年度${this.yuedeobj?.bqpjschxlchbsyzj >= 0? `增加${this.yuedeobj?.bqpjschxlchbsyzj}海里/艘次`: `减少${Math.abs(this.yuedeobj?.bqpjschxlchbsyzj)}海里/艘次`},约${this.yuedeobj?.bqpjschxlchbsyzjyh >= 0? `增加油耗${this.yuedeobj?.bqpjschxlchbsyzjyh}`: `减少油耗${Math.abs(this.yuedeobj?.bqpjschxlchbsyzjyh)}`}`);}if (this.yuedeobj.bqrylhb >= 0) {this.hbysList.push(...zjhbysList);this.hbysList.push(...jshbysList);for (let item = 0; item < this.hbysList.length; item++) {this.hbysList[item] = `${item + 1}${this.hbysList[item]}`;}} else {this.hbysList.push(...jshbysList);this.hbysList.push(...zjhbysList);for (let item = 0; item < this.hbysList.length; item++) {this.hbysList[item] = `${item + 1}${this.hbysList[item]}`;}}this.hbysList.push(`综上所述,环比上年度,作业因素导致本年度油耗${this.yuedeobj?.bt1zyys >= 0 ? `增加${this.yuedeobj?.bt1zyys}` : `减少${Math.abs(this.yuedeobj?.bt1zyys)}`},调度因素导致本年度油耗${this.yuedeobj?.bt1ddys >= 0 ? `增加${this.yuedeobj?.bt1ddys}` : `减少${Math.abs(this.yuedeobj?.bt1ddys)}`},其它因素导致本年度油耗${this.yuedeobj?.bt1qtys >= 0 ? `增加${this.yuedeobj?.bt1qtys}` : `减少${Math.abs(this.yuedeobj?.bt1qtys)}`}`);this.option['series'] = [{name: 'Access From',type: 'pie',radius: '50%',label: {show: true,formatter: '{b}: {c} ({d}%)'},data: this.yuedeobj?.bt1,emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}];this.tu1echars = echarts.init(window.document.getElementById('tu1'));this.tu1echars.setOption(this.option);}});} else {Object.values(this.formItem.controls).forEach(control => {if (control.invalid) {control.markAsDirty();control.updateValueAndValidity({onlySelf: true});}});}}
}
http://www.xdnf.cn/news/969175.html

相关文章:

  • 渲染学进阶内容——joml库
  • 深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
  • cell properties修改参数
  • 突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
  • Vue 指令详解:概念与作用
  • 渲染学进阶内容——模型
  • ssc377d修改flash分区大小
  • 86壳温湿度传感器:高温下工业生产的安全防线
  • Elasticsearch增删改查语句
  • GAMES202-高质量实时渲染(Real-Time Ray-Tracing)
  • Minktec 柔性弯曲传感器应用:3D 脊柱姿势追踪与人体活动识别
  • 半加器和全加器
  • React19源码系列之 事件优先级
  • Netty从入门到进阶(三)
  • 淘宝SKU与视频详情API接口使用指南
  • 6月10日day50打卡
  • 鹰盾播放器禁止录屏操作的深度技术解析与全栈实现方案
  • AI写实数字人实时交互系统本地私有化部署方案
  • Java TCP网络编程核心指南
  • 服务器硬防的应用场景都有哪些?
  • V837s-sdk buildroot文件系统设置串口登录密码
  • Docker 创建及部署完整流程
  • spring jms使用
  • pnpm install 和 npm install 的区别
  • 力扣HOT100之堆:347. 前 K 个高频元素
  • 基于51单片机的三位电子密码锁
  • LDPC码的编码算法
  • 【2025CVPR】花粉识别新标杆:HieraEdgeNet多尺度边缘增强框架详解
  • C++中变量赋值有几种形式
  • [ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?