From ea6121a2be5edbf8a71ea6b66e2296ac54a86160 Mon Sep 17 00:00:00 2001 From: hu177768073 <177768073@qq.com> Date: Mon, 1 Sep 2025 10:57:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gas-order-count.component.html | 36 +++++ .../gas-order-count.component.less | 3 + .../gas-order-count.component.ts | 136 ++++++++++++++++++ .../order-oil-list.component.html | 6 +- .../order-oil-list.component.ts | 2 + src/app/pages/trade/trade.routes.ts | 2 + src/app/services/trade/order-oil.service.ts | 12 ++ 7 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 src/app/pages/trade/gas-order-count/gas-order-count.component.html create mode 100644 src/app/pages/trade/gas-order-count/gas-order-count.component.less create mode 100644 src/app/pages/trade/gas-order-count/gas-order-count.component.ts diff --git a/src/app/pages/trade/gas-order-count/gas-order-count.component.html b/src/app/pages/trade/gas-order-count/gas-order-count.component.html new file mode 100644 index 0000000..320ea9c --- /dev/null +++ b/src/app/pages/trade/gas-order-count/gas-order-count.component.html @@ -0,0 +1,36 @@ + +
+
+ +
+ + 渠道 + + + + + + + +
+ +
+ + 时间 + + + + +
+ +
+ + + + + + +
+
+
+
diff --git a/src/app/pages/trade/gas-order-count/gas-order-count.component.less b/src/app/pages/trade/gas-order-count/gas-order-count.component.less new file mode 100644 index 0000000..f4e27a2 --- /dev/null +++ b/src/app/pages/trade/gas-order-count/gas-order-count.component.less @@ -0,0 +1,3 @@ +nz-date-picker { + width: 100%; +} diff --git a/src/app/pages/trade/gas-order-count/gas-order-count.component.ts b/src/app/pages/trade/gas-order-count/gas-order-count.component.ts new file mode 100644 index 0000000..1d98c7e --- /dev/null +++ b/src/app/pages/trade/gas-order-count/gas-order-count.component.ts @@ -0,0 +1,136 @@ +import { Component } from '@angular/core'; +import {DatePipe, NgForOf, NgIf} from "@angular/common"; +import {DictionaryPipe} from "../../../pipes/common/dictionary.pipe"; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import { + NzCellFixedDirective, + NzTableCellDirective, + NzTableComponent, + NzTbodyComponent, NzTheadComponent, + NzThMeasureDirective, NzTrDirective +} from "ng-zorro-antd/table"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzDatePickerComponent, NzRangePickerComponent} from "ng-zorro-antd/date-picker"; +import {NzDescriptionsComponent, NzDescriptionsItemComponent} from "ng-zorro-antd/descriptions"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {NzModalComponent, NzModalModule, NzModalService} from "ng-zorro-antd/modal"; +import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; +import {NzRadioButtonDirective, NzRadioComponent, NzRadioGroupComponent} from "ng-zorro-antd/radio"; +import {NzTabComponent, NzTabSetComponent} from "ng-zorro-antd/tabs"; +import {FormGroup, NonNullableFormBuilder, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzDropDownDirective, NzDropdownMenuComponent, NzDropDownModule} from "ng-zorro-antd/dropdown"; +import {NzIconModule} from "ng-zorro-antd/icon"; +import {NzCardModule} from "ng-zorro-antd/card"; +import {NzSpinComponent} from "ng-zorro-antd/spin"; +import {NzTimelineComponent, NzTimelineItemComponent} from "ng-zorro-antd/timeline"; +import {NzBadgeComponent} from "ng-zorro-antd/badge"; +import {NzTooltipDirective} from "ng-zorro-antd/tooltip"; +import {DateMinutesDiffPipe} from "../../../pipes/common/date-minutes-diff.pipe"; +import {NzDividerComponent} from "ng-zorro-antd/divider"; +import {NzTypographyComponent} from "ng-zorro-antd/typography"; +import {NzUploadModule} from "ng-zorro-antd/upload"; +import {OrderOilService} from "../../../services/trade/order-oil.service"; +import {environment} from "../../../../environments/environment"; +import { differenceInCalendarDays } from 'date-fns'; + +@Component({ + selector: 'app-gas-order-count', + standalone: true, + imports: [ + DatePipe, + DictionaryPipe, + NgForOf, + NgIf, + NzButtonComponent, + NzCellFixedDirective, + NzColDirective, + NzDatePickerComponent, + NzDescriptionsComponent, + NzDescriptionsItemComponent, + NzFormControlComponent, + NzFormDirective, + NzFormItemComponent, + NzFormLabelComponent, + NzInputDirective, + NzModalComponent, + NzOptionComponent, + NzRadioButtonDirective, + NzRadioComponent, + NzRadioGroupComponent, + NzRangePickerComponent, + NzRowDirective, + NzSelectComponent, + NzTabComponent, + NzTabSetComponent, + NzTableCellDirective, + NzTableComponent, + NzTbodyComponent, + NzThMeasureDirective, + NzTheadComponent, + NzTrDirective, + ReactiveFormsModule, + NzModalModule, + NzDropdownMenuComponent, + NzDropDownDirective, + NzDropDownModule, + NzIconModule, + NzCardModule, + NzSpinComponent, + NzTimelineItemComponent, + NzTimelineComponent, + NzBadgeComponent, + NzTooltipDirective, + DateMinutesDiffPipe, + NzDividerComponent, + NzTypographyComponent, + NzUploadModule + ], + templateUrl: './gas-order-count.component.html', + styleUrl: './gas-order-count.component.less' +}) +export class GasOrderCountComponent { + imageUrl = environment.imageUrl; + loadingObject = { + title: "处理中...", + status: false, + }; + // 表单数据 + tableData: any = { + total: 0, + list: [], + }; + // 搜索表单 + searchForm: FormGroup; + // 渠道 + channelTypeArray = new DictionaryPipe().getDictionaryList('MER_SOURCE_TYPE'); + + disabledDate = (current: Date): boolean => + differenceInCalendarDays(current, new Date().setDate(new Date().getDate() - 1)) > 0 ; + + constructor(private fb: NonNullableFormBuilder, + private modal: NzModalService, + private orderOilService : OrderOilService) { + // 初始化搜索框 + this.searchForm = this.fb.group({ + channelType: ['3'], + startTime: [new Date().setDate(new Date().getDate() - 1)], + }); + } + + /** + * 获取数据 + */ + export() { + this.loadingObject.status = true; + this.searchForm.controls['startTime'].setValue(new Date(this.searchForm.controls['startTime'].value).getTime()); + this.orderOilService.exportOilOrderCount(this.searchForm.value, (data:any) => { + if (data['return_code'] == '000000') { + window.location.href = this.imageUrl + data['return_data']; + } else { + this.modal.error(data['return_msg']) + } + this.loadingObject.status = false; + }); + } +} diff --git a/src/app/pages/trade/order-oil-list/order-oil-list.component.html b/src/app/pages/trade/order-oil-list/order-oil-list.component.html index 6fc1617..f89b49c 100644 --- a/src/app/pages/trade/order-oil-list/order-oil-list.component.html +++ b/src/app/pages/trade/order-oil-list/order-oil-list.component.html @@ -151,7 +151,11 @@ 加油升数: {{totalData.totalOilLiters}}升 实付金额: - {{totalData.totalActualPayPrice}}元 + {{totalData.totalActualPayPrice}}元 + 优惠券笔数: + {{totalData.deductionCouponCount}}笔 + 优惠券占比: + {{totalData.deductionCouponRate}}% { + callBack(data); + }); + } + /** * 统计数据 * @param param