From b7a66d3ba0b04e6e82e82f085b1d0397f0c777dd Mon Sep 17 00:00:00 2001
From: hu177768073 <177768073@qq.com>
Date: Mon, 17 Mar 2025 10:22:15 +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
---
.../oil-channel-week.component.html | 132 ++++++++++++
.../oil-channel-week.component.less | 3 +
.../oil-channel-week.component.ts | 196 ++++++++++++++++++
.../oil-discount/oil-discount.component.html | 2 +-
src/app/pages/merchant/merchant.routes.ts | 3 +-
.../order-oil-list.component.ts | 5 +
.../mer-oil-price/oil-channel-week.service.ts | 36 ++++
src/environments/environment.ts | 4 +-
8 files changed, 377 insertions(+), 4 deletions(-)
create mode 100644 src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.html
create mode 100644 src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.less
create mode 100644 src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.ts
create mode 100644 src/app/services/mer-oil-price/oil-channel-week.service.ts
diff --git a/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.html b/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.html
new file mode 100644
index 0000000..bd9a761
--- /dev/null
+++ b/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+ 渠道 |
+ 日期 |
+ 油号 |
+ 折扣(%) |
+ 服务费(%) |
+ 更新时间 |
+ 操作 |
+
+
+
+
+ {{data.gasChannelType | dictionary: "MER_SOURCE_TYPE"}} |
+
+ {{data.weeks | week}} {{today == data.weeks?'(今日)':''}}
+ |
+ {{data.oilNo}} |
+ {{data.priceRate}} |
+ {{data.serviceFeeRate}} |
+ {{data.updateTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+
+
+ |
+
+
+ 总计 {{ total }} 条
+
+
+
+
+
+
+
diff --git a/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.less b/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.less
new file mode 100644
index 0000000..90447c4
--- /dev/null
+++ b/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.less
@@ -0,0 +1,3 @@
+nz-input-number {
+ width: 100%;
+}
diff --git a/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.ts b/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.ts
new file mode 100644
index 0000000..62c8de3
--- /dev/null
+++ b/src/app/pages/mer-oil-price/oil-channel-week/oil-channel-week.component.ts
@@ -0,0 +1,196 @@
+import { Component } from '@angular/core';
+import {FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule, Validators} from "@angular/forms";
+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, NzTableModule,
+ NzTbodyComponent, NzTheadComponent,
+ NzThMeasureDirective, NzTrDirective
+} from "ng-zorro-antd/table";
+import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid";
+import {NzDividerComponent} from "ng-zorro-antd/divider";
+import {NzDropDownADirective, NzDropDownDirective, NzDropdownMenuComponent} from "ng-zorro-antd/dropdown";
+import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form";
+import {NzIconDirective} from "ng-zorro-antd/icon";
+import {NzInputDirective} from "ng-zorro-antd/input";
+import {NzMenuDirective, NzMenuItemComponent} from "ng-zorro-antd/menu";
+import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select";
+import {NzModalModule, NzModalService} from "ng-zorro-antd/modal";
+import {NzFlexDirective} from "ng-zorro-antd/flex";
+import {NzDescriptionsModule} from "ng-zorro-antd/descriptions";
+import {NzUploadComponent} from "ng-zorro-antd/upload";
+import {NzAvatarModule} from "ng-zorro-antd/avatar";
+import {NzImageModule} from "ng-zorro-antd/image";
+import {NzSwitchComponent} from "ng-zorro-antd/switch";
+import {NzDatePickerComponent} from "ng-zorro-antd/date-picker";
+import {NzInputNumberModule} from "ng-zorro-antd/input-number";
+import {WeekPipe} from "../../../pipes/common/week.pipe";
+import {NzMessageService} from "ng-zorro-antd/message";
+import {BrowserStorageService} from "../../../utils/localStorage.service";
+import {DATA} from "../../../data/login/localStorage.namespace";
+import {CommonService} from "../../../services/common/common.service";
+import {OilChannelWeekService} from "../../../services/mer-oil-price/oil-channel-week.service";
+
+@Component({
+ selector: 'app-oil-channel-week',
+ standalone: true,
+ imports: [
+ DatePipe,
+ DictionaryPipe,
+ FormsModule,
+ NgForOf,
+ NgIf,
+ NzButtonComponent,
+ NzCellFixedDirective,
+ NzColDirective,
+ NzDividerComponent,
+ NzDropDownADirective,
+ NzDropDownDirective,
+ NzDropdownMenuComponent,
+ NzFormControlComponent,
+ NzFormDirective,
+ NzFormItemComponent,
+ NzFormLabelComponent,
+ NzIconDirective,
+ NzInputDirective,
+ NzMenuDirective,
+ NzMenuItemComponent,
+ NzOptionComponent,
+ NzRowDirective,
+ NzSelectComponent,
+ NzTableCellDirective,
+ NzTableComponent,
+ NzTbodyComponent,
+ NzThMeasureDirective,
+ NzTheadComponent,
+ NzTrDirective,
+ ReactiveFormsModule,
+ NzTableModule,
+ NzModalModule,
+ NzFlexDirective,
+ NzDescriptionsModule,
+ NzUploadComponent,
+ NzAvatarModule,
+ NzImageModule,
+ NzSwitchComponent,
+ NzDatePickerComponent,
+ NzInputNumberModule,
+ WeekPipe
+ ],
+ templateUrl: './oil-channel-week.component.html',
+ styleUrl: './oil-channel-week.component.less'
+})
+export class OilChannelWeekComponent {
+ // 表单数据
+ tableData: any = [];
+ // 搜索表单
+ searchForm: FormGroup;
+ // 油站渠道
+ merSourceTypeArray = new DictionaryPipe().getDictionaryList('MER_SOURCE_TYPE');
+ // 油号
+ oilNoArray = new DictionaryPipe().getDictionaryList('OIL_NO');
+ // 编辑数据表单
+ editDataForm: FormGroup;
+ editDataModal = false;
+ // 当前日期
+ today:number = new Date().getDay();
+ constructor(private fb: NonNullableFormBuilder,
+ private message: NzMessageService,
+ private storage: BrowserStorageService,
+ private oilChannelWeekService: OilChannelWeekService,
+ private commonService: CommonService,
+ private modal: NzModalService) {
+ // 初始化搜索框
+ this.searchForm = this.fb.group({
+ gasChannelType: [this.merSourceTypeArray[0].codeValue],
+ oilNo: [this.oilNoArray[0].codeValue],
+ });
+
+ this.editDataForm = this.fb.group({
+ id: [null, [Validators.required]],
+ gasChannelType: [null],
+ week: [null],
+ oilNo: [null],
+ priceRate: [null, [Validators.required]],
+ serviceFeeRate: [null, [Validators.required]],
+ });
+ // 查询数据
+ this.queryData();
+ }
+
+ /**
+ * 获取数据
+ */
+ queryData() {
+ this.searchForm.value.time = new Date().getTime();
+ this.oilChannelWeekService.getPriceList(this.searchForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.tableData = data['return_data'];
+ }
+ });
+ }
+
+ /**
+ * 搜索表单提交
+ */
+ searchFormSubmit(): void {
+ this.queryData();
+ }
+
+ /**
+ * 搜索表单重置
+ */
+ searchFormReset(): void {
+ this.searchForm.reset();
+ }
+
+ /**
+ * 打开编辑模态框
+ */
+ showEditModal(data: any) {
+ data['week'] = String(data['weeks']);
+ data['gasChannelType'] = String(data['gasChannelType']);
+ this.editDataForm.patchValue(data);
+ this.editDataForm.controls['week'].disable();
+ this.editDataForm.controls['oilNo'].disable();
+ this.editDataForm.controls['gasChannelType'].disable();
+ this.editDataModal = true;
+ }
+
+ /**
+ * 提交数据
+ */
+ submitData() {
+ if (this.editDataForm.valid) {
+ this.oilChannelWeekService.updatePrice(this.editDataForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.message.create('success', '操作成功');
+ // 刷新数据
+ this.queryData();
+ // 关闭弹窗
+ this.closeEditModal();
+ } else {
+ this.message.create('error', data['return_msg']);
+ }
+ });
+ } else {
+ Object.values(this.editDataForm.controls).forEach(control => {
+ if (control.invalid) {
+ control.markAsDirty();
+ control.updateValueAndValidity({ onlySelf: true });
+ }
+ });
+ }
+ }
+
+ /**
+ * 关闭编辑任务模态框
+ */
+ closeEditModal() {
+ this.editDataForm.reset();
+ this.editDataModal = false;
+ }
+}
diff --git a/src/app/pages/mer-oil-price/oil-discount/oil-discount.component.html b/src/app/pages/mer-oil-price/oil-discount/oil-discount.component.html
index ffd16f8..a77cf10 100644
--- a/src/app/pages/mer-oil-price/oil-discount/oil-discount.component.html
+++ b/src/app/pages/mer-oil-price/oil-discount/oil-discount.component.html
@@ -60,7 +60,7 @@
(nzPageIndexChange)="queryData()"
nzShowSizeChanger
(nzPageSizeChange)="this.tablePageSize = $event;queryData()"
- [nzPageSizeOptions]="[ 10, 20, 30, 50, 100 ]"
+ [nzPageSizeOptions]="[ 10, 50, 100, 1000, 5000 ]"
[nzTotal]="tableData.total"
[nzData]="tableData.list" >
diff --git a/src/app/pages/merchant/merchant.routes.ts b/src/app/pages/merchant/merchant.routes.ts
index 047b8a6..6046770 100644
--- a/src/app/pages/merchant/merchant.routes.ts
+++ b/src/app/pages/merchant/merchant.routes.ts
@@ -14,6 +14,7 @@ import {MerClassGroupTaskComponent} from "../mer-class-group/mer-class-group-tas
import {MerClassGroupListComponent} from "../mer-class-group/mer-class-group-list/mer-class-group-list.component";
import {MerStaffListComponent} from "./mer-staff-list/mer-staff-list.component";
import {MerchantAmountComponent} from "./merchant-amount/merchant-amount.component";
+import {OilChannelWeekComponent} from "../mer-oil-price/oil-channel-week/oil-channel-week.component";
export const MERCHANT_ROUTES: Routes = [
{ path: 'mer-list', component: MerListComponent },
@@ -25,7 +26,7 @@ export const MERCHANT_ROUTES: Routes = [
{ path: 'device-list', component: DeviceListComponent },
{ path: 'device-print', component: DevicePrintComponent },
{ path: 'oil-task-list', component: OilTaskComponent },
- { path: 'oil-discount-list', component: OilDiscountComponent },
+ { path: 'oil-discount-list', component: OilChannelWeekComponent },
{ path: 'oil-config', component: OilConfigComponent },
{ path: 'qr-code-list', component: QrCodeListComponent },
{ path: 'class-group-list', component: MerClassGroupListComponent },
diff --git a/src/app/pages/trade/order-oil-list/order-oil-list.component.ts b/src/app/pages/trade/order-oil-list/order-oil-list.component.ts
index 0cb9748..fc06a8d 100644
--- a/src/app/pages/trade/order-oil-list/order-oil-list.component.ts
+++ b/src/app/pages/trade/order-oil-list/order-oil-list.component.ts
@@ -210,6 +210,11 @@ export class OrderOilListComponent {
queryAgent() {
this.agentService.queryAgentList({ pageNum:1,pageSize:999}, (data: any) => {
this.agentArray = data['return_data']['list'];
+ this.agentArray.push({
+ id: 0,
+ name: '无'
+ })
+ this.agentArray.sort((a: any, b: any) => a.id - b.id);
});
}
diff --git a/src/app/services/mer-oil-price/oil-channel-week.service.ts b/src/app/services/mer-oil-price/oil-channel-week.service.ts
new file mode 100644
index 0000000..9ca7681
--- /dev/null
+++ b/src/app/services/mer-oil-price/oil-channel-week.service.ts
@@ -0,0 +1,36 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from "@angular/common/http";
+import {environment} from "../../../environments/environment";
+import {ObjectData} from "../../utils/objectData.service";
+
+@Injectable({
+ providedIn: 'root'
+})
+export class OilChannelWeekService {
+
+ constructor(private http: HttpClient) { }
+
+ /**
+ * 修改价格
+ * @param params
+ * @param callBack
+ */
+ public updatePrice(params: any, callBack:any) {
+ params.time = new Date().getTime();
+ this.http.post(environment.baseUrl + 'gasChannelPriceWeek/updatePrice', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 查询价格
+ * @param params
+ * @param callBack
+ */
+ public getPriceList(params: any, callBack:any) {
+ params.time = new Date().getTime();
+ this.http.get(environment.baseUrl + 'gasChannelPriceWeek/getPriceList?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 1942a40..e4e132f 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -4,8 +4,8 @@
export const environment = {
production: false,
- baseUrl: 'http://localhost:9802/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'https://test-oil.dctpay.com/filesystem/',
+ baseUrl: 'https://oil.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://oil.dctpay.com/filesystem/',
};
/*