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