From a0e126f447ebc75220977d236898401d7d4b9e81 Mon Sep 17 00:00:00 2001
From: Sum1Dream <418471657@qq.com>
Date: Mon, 16 May 2022 11:05:24 +0800
Subject: [PATCH 01/14] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=9D=E8=B4=B9?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/admin/login/login/login.component.ts | 10 +-
.../admin/navigation/navigation.component.ts | 316 ++++----
.../price-list/price-list.component.html | 211 +++---
.../price-list/price-list.component.ts | 70 +-
src/app/pipes/recharge-price.pipe.ts | 6 +-
src/app/services/commons.service.ts | 680 +++++++++---------
src/app/services/local-storage.namespace.ts | 1 +
7 files changed, 691 insertions(+), 603 deletions(-)
diff --git a/src/app/admin/login/login/login.component.ts b/src/app/admin/login/login/login.component.ts
index b1847ef..333777c 100644
--- a/src/app/admin/login/login/login.component.ts
+++ b/src/app/admin/login/login/login.component.ts
@@ -1,12 +1,13 @@
import {Component, OnInit} from '@angular/core';
import {FormGroup, Validators, FormBuilder} from '@angular/forms';
import {LoginService} from '../../../services/login.service';
-import {NzModalService} from 'ng-zorro-antd';
+import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {ADMIN_INFO_OBJECT, TOKEN, INIT_FLAG, LOGINTYPE} from '../../../services/local-storage.namespace';
import {LocalStorageService} from '../../../services/local-storage.service';
import {Router} from '@angular/router';
import {HttpClient} from '@angular/common/http';
+
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
@@ -21,6 +22,7 @@ export class LoginComponent implements OnInit {
private form: FormBuilder, // 表单校验
private http: HttpClient, // http请求
private loginService: LoginService,
+ private message: NzMessageService,
private modal: NzModalService) {
}
@@ -55,11 +57,9 @@ export class LoginComponent implements OnInit {
this.store.set(LOGINTYPE, data['return_data']['type']);
this.router.navigateByUrl('/admin/index').then();
} else {
- this.modal.warning({
- nzTitle: '提示',
- nzContent: data['return_msg']
- });
+ this.message.error(data['return_msg']);
}
});
+
}
}
diff --git a/src/app/admin/navigation/navigation.component.ts b/src/app/admin/navigation/navigation.component.ts
index e583df5..9f1fd32 100644
--- a/src/app/admin/navigation/navigation.component.ts
+++ b/src/app/admin/navigation/navigation.component.ts
@@ -1,6 +1,14 @@
-import { Component, OnInit } from '@angular/core';
+import {Component, OnInit} from '@angular/core';
import {LocalStorageService} from '../../services/local-storage.service';
-import {DATA, ROUTENAME, MENUNAME, CHILDMENUNAME, INIT_FLAG, ADMIN_INFO_OBJECT, TOKEN} from '../../services/local-storage.namespace';
+import {
+ DATA,
+ ROUTENAME,
+ MENUNAME,
+ CHILDMENUNAME,
+ INIT_FLAG,
+ ADMIN_INFO_OBJECT,
+ TOKEN
+} from '../../services/local-storage.namespace';
import {LoginService} from '../../services/login.service';
import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {Router} from '@angular/router';
@@ -14,162 +22,172 @@ import {HttpClient} from '@angular/common/http';
import {CompanyTwoPwdService} from '../../services/company-two-pwd.service';
@Component({
- selector: 'app-navigation',
- templateUrl: './navigation.component.html',
- styleUrls: ['./navigation.component.less']
+ selector: 'app-navigation',
+ templateUrl: './navigation.component.html',
+ styleUrls: ['./navigation.component.less']
})
export class NavigationComponent implements OnInit {
- visibleUpdatePwd = false; // 修改密码抽屉
- validateForm: FormGroup; // 定义表单
- passwordVisible = false;
-
- isCollapsed = false;
- userInfo: any;
- menuList: any;
- routeName: string;
- switchValue = false;
- constructor(
- private storage: LocalStorageService,
- private loginService: LoginService,
- private message: NzMessageService,
- private commonsService: CommonsService,
- private companyTwoPwdService: CompanyTwoPwdService,
- private http: HttpClient, // http请求
- private iconService: IconService,
- private modal: NzModalService,
- private fb: FormBuilder, // 表单
- private router: Router,
- ) { }
-
- ngOnInit(): void {
- this.validateForm = this.fb.group({
- oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]],
- newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]],
- checkNewPassword: [null, [Validators.required, this.checkPwd]],
- });
-
- this.routeName = this.storage.get(ROUTENAME) == null ? 'index' : this.storage.get(ROUTENAME);
- this.userInfo = this.storage.getList(ADMIN_INFO_OBJECT);
- this.commonsService.mappingSysNameOl('RECHARGE', data => {
- this.switchValue = data['return_data']['codeValue'] === '1';
- });
- this.menuList = this.storage.getList(ADMIN_INFO_OBJECT)['menuList']; // 定义菜单数据
- }
-
- public activeLi(routeName): void {
- this.routeName = routeName;
- this.storage.set(ROUTENAME, routeName);
- }
-
- // 菜单姓名
- public getRouteName(menuName , childMenuName): void {
- this.storage.set(MENUNAME, menuName);
- this.storage.set(CHILDMENUNAME, childMenuName);
- }
-
- // 登出
- public loginOut(): void {
- this.loginService.loginOut(data => {
- if (data.return_code === '000000') {
- this.storage.set(ADMIN_INFO_OBJECT, null);
- this.storage.set(INIT_FLAG, false);
- this.storage.set(TOKEN, null);
- this.router.navigateByUrl('/adminLogin').then();
- } else {
- this.message.warning(data.return_msg);
- }
- });
- }
-
- // 返回
- public getBack(): void {
- history.back();
- }
-
- clickSwitch(): void {
- this.switchValue = !this.switchValue;
- this.commonsService.updateDictionary('RECHARGE' , this.switchValue === true ? '1' : '0' , data => {
- if (data['return_code'] === '000000') {
- this.message.success(data['return_data']);
- } else {
- this.message.error(data['return_msg']);
- }
- });
- }
-
- // 打开抽屉
- openUpdatePwd(): void {
- this.visibleUpdatePwd = true;
- }
-
- // 关闭抽屉
- closeUser(): void {
- this.visibleUpdatePwd = false;
- }
-
- // 提交表单
- submitForm(value): void {
- // 表单验证
- // tslint:disable-next-line:forin
- for (const i in this.validateForm.controls) {
- this.validateForm.controls[i].markAsDirty();
- this.validateForm.controls[i].updateValueAndValidity();
+ visibleUpdatePwd = false; // 修改密码抽屉
+ validateForm: FormGroup; // 定义表单
+ passwordVisible = false;
+
+ isCollapsed = false;
+ userInfo: any;
+ menuList: any;
+ routeName: string;
+ switchValue = false;
+
+ constructor(
+ private storage: LocalStorageService,
+ private loginService: LoginService,
+ private message: NzMessageService,
+ private commonsService: CommonsService,
+ private companyTwoPwdService: CompanyTwoPwdService,
+ private http: HttpClient, // http请求
+ private iconService: IconService,
+ private modal: NzModalService,
+ private common: CommonsService,
+ private fb: FormBuilder, // 表单
+ private router: Router,
+ ) {
}
- if (this.validateForm.status == null || this.validateForm.status !== 'VALID') {
- this.modal.info({
- nzTitle: '提示',
- nzContent: '请正确填写必填信息',
- });
- return;
+
+ ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]],
+ newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]],
+ checkNewPassword: [null, [Validators.required, this.checkPwd]],
+ });
+
+ this.routeName = this.storage.get(ROUTENAME) == null ? 'index' : this.storage.get(ROUTENAME);
+ this.userInfo = this.storage.getList(ADMIN_INFO_OBJECT);
+ this.commonsService.mappingSysNameOl('RECHARGE', data => {
+ this.switchValue = data['return_data']['codeValue'] === '1';
+ });
+ this.menuList = this.storage.getList(ADMIN_INFO_OBJECT)['menuList']; // 定义菜单数据
+ this.common.getDictionaries(data => {
+ if (data['return_code'] === '000000') {
+ console.log(data);
+ } else {
+ this.message.error(data['return_msg']);
+ }
+ });
+ }
+
+
+ public activeLi(routeName): void {
+ this.routeName = routeName;
+ this.storage.set(ROUTENAME, routeName);
+ }
+
+ // 菜单姓名
+ public getRouteName(menuName, childMenuName): void {
+ this.storage.set(MENUNAME, menuName);
+ this.storage.set(CHILDMENUNAME, childMenuName);
}
- const timeNum = new Date().getTime();
- const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum;
- // 定义请求数据
- const params = {
- userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id,
- oldPassword: value.oldPassword,
- newPassword: value.newPassword,
- nonceStr: timeNum,
- sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(),
- };
- this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => {
- if (data['return_code'] === '000000') {
- this.modal.success({
- nzTitle: '提示',
- nzContent: '密码修改成功',
- nzOkText: '重新登录',
- nzOkType: 'primary',
- nzOnOk: () => this.loginOut()
+
+ // 登出
+ public loginOut(): void {
+ this.loginService.loginOut(data => {
+ if (data.return_code === '000000') {
+ this.storage.set(ADMIN_INFO_OBJECT, null);
+ this.storage.set(INIT_FLAG, false);
+ this.storage.set(TOKEN, null);
+ this.router.navigateByUrl('/adminLogin').then();
+ } else {
+ this.message.warning(data.return_msg);
+ }
});
- } else {
- this.modal.warning({
- nzTitle: '提示',
- nzContent: data['return_msg'],
- nzOkText: '取消',
- nzOkType: 'primary',
+ }
+
+ // 返回
+ public getBack(): void {
+ history.back();
+ }
+
+ clickSwitch(): void {
+ this.switchValue = !this.switchValue;
+ this.commonsService.updateDictionary('RECHARGE', this.switchValue === true ? '1' : '0', data => {
+ if (data['return_code'] === '000000') {
+ this.message.success(data['return_data']);
+ } else {
+ this.message.error(data['return_msg']);
+ }
});
- }
- setTimeout(() => {
- }, 1000);
- }, error => {
- this.message.create('error', `未知错误!`);
- });
- }
-
- /**
- * 新密码校验两次密码是否一致
- * @param control
- */
- checkPwd = (control: FormControl): { [s: string]: boolean } => {
- if (!control.value) {
- return { required: true };
- } else if (control.value !== this.validateForm.controls.newPassword.value) {
- return { confirm: true, error: true };
}
- return {};
- }
+ // 打开抽屉
+ openUpdatePwd(): void {
+ this.visibleUpdatePwd = true;
+ }
+
+ // 关闭抽屉
+ closeUser(): void {
+ this.visibleUpdatePwd = false;
+ }
+
+ // 提交表单
+ submitForm(value): void {
+ // 表单验证
+ // tslint:disable-next-line:forin
+ for (const i in this.validateForm.controls) {
+ this.validateForm.controls[i].markAsDirty();
+ this.validateForm.controls[i].updateValueAndValidity();
+ }
+ if (this.validateForm.status == null || this.validateForm.status !== 'VALID') {
+ this.modal.info({
+ nzTitle: '提示',
+ nzContent: '请正确填写必填信息',
+ });
+ return;
+ }
+ const timeNum = new Date().getTime();
+ const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum;
+ // 定义请求数据
+ const params = {
+ userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id,
+ oldPassword: value.oldPassword,
+ newPassword: value.newPassword,
+ nonceStr: timeNum,
+ sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(),
+ };
+ this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => {
+ if (data['return_code'] === '000000') {
+ this.modal.success({
+ nzTitle: '提示',
+ nzContent: '密码修改成功',
+ nzOkText: '重新登录',
+ nzOkType: 'primary',
+ nzOnOk: () => this.loginOut()
+ });
+ } else {
+ this.modal.warning({
+ nzTitle: '提示',
+ nzContent: data['return_msg'],
+ nzOkText: '取消',
+ nzOkType: 'primary',
+ });
+ }
+ setTimeout(() => {
+ }, 1000);
+ }, error => {
+ this.message.create('error', `未知错误!`);
+ });
+ }
+
+ /**
+ * 新密码校验两次密码是否一致
+ * @param control
+ */
+ checkPwd = (control: FormControl): { [s: string]: boolean } => {
+ if (!control.value) {
+ return {required: true};
+ } else if (control.value !== this.validateForm.controls.newPassword.value) {
+ return {confirm: true, error: true};
+ }
+ return {};
+ }
}
diff --git a/src/app/admin/recharge-order/price-list/price-list.component.html b/src/app/admin/recharge-order/price-list/price-list.component.html
index 406ef4d..122d98a 100644
--- a/src/app/admin/recharge-order/price-list/price-list.component.html
+++ b/src/app/admin/recharge-order/price-list/price-list.component.html
@@ -9,24 +9,23 @@
- 金额类型
+ 运营商
-
-
-
-
+
+
+
+
- 展示区域
+ 充值平台
-
-
-
-
+
+
+
@@ -42,6 +41,30 @@
+
+
+ 充值方式
+
+
+
+
+
+
+
+
+
+
+ 价格状态
+
+
+
+
+
+
+
+
+
+
@@ -78,11 +101,11 @@
编号 |
- 金额类型 |
- 充值类型 |
+ 充值金额 |
+ 折扣比例 |
+ 支付金额 |
展示区域 |
-
-
+ 商品ID |
充值金额 |
支付金额 |
创建时间 |
@@ -92,7 +115,10 @@
{{i + 1}} |
- {{data.type | rechargePrice}} |
+ {{data.rechargePrice}} |
+ {{data.discount + "%"}} |
+ {{data.payPrice}} |
+ {{data.operatorType | rechargePrice}} |
{{data.rechargeType== 1? '快充':'慢充'}} |
{{data.showType | showType}} |
{{data.price}} |
@@ -100,7 +126,7 @@
{{data.createTime | date: 'yyyy-MM-dd HH:mm'}} |
编辑
- {{data.status === 1 ? '禁用': '启用'}}
+ {{data.status === 1 ? '售空': '禁用'}}
删除
|
@@ -109,103 +135,112 @@
-
-
-
-
- 供货商编号 |
- 商品ID |
- 渠道商标识符 |
- 折扣比例 |
- 商品名称 |
- 渠道商名称 |
- 状态 |
-
-
-
-
- {{data.channel}} |
- {{data.goodsId}} |
- {{data.channelMark | channelMark}} |
- {{data.discountRatio}}% |
- {{data.goodsName}} |
- {{data.memberName}} |
- {{data.state == 1 ? '上架' : '下架'}} |
-
-
-
-
diff --git a/src/app/admin/recharge-order/price-list/price-list.component.ts b/src/app/admin/recharge-order/price-list/price-list.component.ts
index 36691eb..51419d6 100644
--- a/src/app/admin/recharge-order/price-list/price-list.component.ts
+++ b/src/app/admin/recharge-order/price-list/price-list.component.ts
@@ -19,6 +19,10 @@ export class PriceListComponent implements OnInit {
searchForm: FormGroup; // 搜索框
validateForm: FormGroup; // 添加框
requestData = []; // 列表数据
+ priceArray = []; // 价格数据
+ priceTypeArray = []; // 支付类型数据
+ platformArray = []; // 充值平台数据
+ productPlatformArray = []; // 展示平台数据
total: number; // 页码
pageNum = 1; // 页码
@@ -30,7 +34,10 @@ export class PriceListComponent implements OnInit {
isVisibleGoods = false;
realPrice = 0;
- goodsArray;
+
+ formatterPercent = (value: number): string => `${value == null ? 0 : value} %`;
+ parserPercent = (value: string): string => value.replace(' %', '');
+
constructor(
private form: FormBuilder,
private recharge: RechargeService,
@@ -45,23 +52,49 @@ export class PriceListComponent implements OnInit {
ngOnInit(): void {
this.init();
+ this.getInitData();
+ }
+
+ // 获取初始化数据
+ private getInitData(): void {
+ // 获取价格数据
+ this.common.getDictionary('RECHARGE_AMOUNT ', data => {
+ this.priceArray = data['return_data'];
+ });
+ // 获取支付类型
+ this.common.getDictionary('PAY_TYPE ', data => {
+ this.priceTypeArray = data['return_data'];
+ });
+ // 获取充值平台
+ this.common.getDictionary('RECHARGE_PLATFORM ', data => {
+ this.platformArray = data['return_data'];
+ });
+ // 获取展示平台
+ this.common.getDictionary('SHOW_PLATFORM ', data => {
+ this.productPlatformArray = data['return_data'];
+ });
+
}
public init(): void {
this.searchForm = this.form.group({
- type: [null],
+ operatorType : [null],
+ rechargePlatform: [null],
rechargeType: [null],
- showType: [null],
+ rechargeWay: [null],
+ status: [null],
});
this.validateForm = this.form.group({
- type: [null, [Validators.required]],
- showType: [null, [Validators.required]],
- price: [null, [Validators.required]],
- rechargeType: [null, [Validators.required]],
- realPrice: [{value: null, disabled: true}, [Validators.required]],
discount: [null, [Validators.required]],
- sort: [null, [Validators.required]],
- // channel: [null, [Validators.required]],
+ integralDiscount: [null, [Validators.required]],
+ operatorType: [null, [Validators.required]],
+ rechargePrices: [null, [Validators.required]],
+ productPlatform: [null, [Validators.required]],
+ rechargeType: [null, [Validators.required]],
+ rechargePlatform: [null, [Validators.required]],
+ rechargeWay: [null, [Validators.required]],
+ payType: [null, [Validators.required]],
+
});
@@ -128,7 +161,6 @@ export class PriceListComponent implements OnInit {
return;
}
}
- this.validateForm.value.realPrice = this.validateForm.value.price * this.validateForm.value.discount / 100;
if (this.edit) {
this.validateForm.value['id'] = this.id;
@@ -136,6 +168,7 @@ export class PriceListComponent implements OnInit {
if (data['return_code'] === '000000') {
this.message.success('修改成功');
this.getRequest(false, this.searchForm.value);
+ this.validateForm.reset();
this.isVisible = false;
} else {
this.message.error(data['return_msg']);
@@ -147,6 +180,7 @@ export class PriceListComponent implements OnInit {
this.message.success('添加成功');
this.getRequest(false, this.searchForm.value);
this.isVisible = false;
+ this.validateForm.reset();
} else {
this.message.error(data['return_msg']);
}
@@ -159,9 +193,7 @@ export class PriceListComponent implements OnInit {
this.isVisible = false;
}
- handleCancelGoods(): void {
- this.isVisibleGoods = false;
- }
+
public getForbiddenUser(id, status: any): void {
const message = (status === 1 ? '是否禁用' : '是否启用');
@@ -196,16 +228,6 @@ export class PriceListComponent implements OnInit {
});
}
- public getMemberGoods(): void {
- this.isVisibleGoods = true;
- this.recharge.getMemberGoods(data => {
- this.goodsArray = data['return_data']['data'];
- });
- }
-
- public getPrice(): void {
- this.realPrice = this.validateForm.value.price * this.validateForm.value.discount / 100;
- }
diff --git a/src/app/pipes/recharge-price.pipe.ts b/src/app/pipes/recharge-price.pipe.ts
index 7da171c..dfde7b3 100644
--- a/src/app/pipes/recharge-price.pipe.ts
+++ b/src/app/pipes/recharge-price.pipe.ts
@@ -8,11 +8,11 @@ export class RechargePricePipe implements PipeTransform {
transform(value: number): string {
switch (value) {
case 1:
- return '电信充值';
+ return '电信运营商';
case 2:
- return '移动充值';
+ return '移动运营商';
case 3:
- return '联通充值';
+ return '联通运营商';
}
}
diff --git a/src/app/services/commons.service.ts b/src/app/services/commons.service.ts
index cecb47c..d05e85f 100644
--- a/src/app/services/commons.service.ts
+++ b/src/app/services/commons.service.ts
@@ -6,353 +6,365 @@ import {environment} from '../../environments/environment';
import {HttpClient} from '@angular/common/http';
@Injectable({
- providedIn: 'root'
+ providedIn: 'root'
})
export class CommonsService {
- constructor(
- private storage: LocalStorageService,
- private modalService: NzModalService, // 对话框
- private http: HttpClient,
- private notification: NzNotificationService
- ) { }
-
- /**
- * 将对象转换成GET请求参数 key1=value1&key2=value2
- * @param object 传入对象
- */
- getWhereCondition(object: object): string {
- let str = '';
- for (const i in object) {
- if (object[i] != null && object[i] !== '') {
- if (str === '') {
- str = i + '=' + object[i];
- } else {
- str += '&' + i + '=' + object[i];
+ constructor(
+ private storage: LocalStorageService,
+ private modalService: NzModalService, // 对话框
+ private http: HttpClient,
+ private notification: NzNotificationService
+ ) {
+ }
+
+ /**
+ * 将对象转换成GET请求参数 key1=value1&key2=value2
+ * @param object 传入对象
+ */
+ getWhereCondition(object: object): string {
+ let str = '';
+ for (const i in object) {
+ if (object[i] != null && object[i] !== '') {
+ if (str === '') {
+ str = i + '=' + object[i];
+ } else {
+ str += '&' + i + '=' + object[i];
+ }
+ }
+ }
+ return str;
+ }
+
+ /**
+ * 校验当前用户是否拥有按钮权限
+ * @param btnCode 按钮名称
+ */
+ public isBtnCompetence(btnCode: string): boolean {
+ let buttonList = [];
+ buttonList = this.storage.get(DATA).buttonList;
+ if (buttonList != null && buttonList.length > 0) {
+ if (buttonList.find(b => b.permissionCode === btnCode) != null) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * 提示框提示
+ * @param message 传入文字
+ * @param callback 回调
+ */
+ public showConfirm(message, callback) {
+ this.modalService.confirm({
+ nzTitle: message,
+ nzOkText: '是',
+ nzOkType: 'danger',
+ nzOnOk: () => callback(true),
+ nzCancelText: '否',
+ });
+ }
+
+ /**
+ * 根据estateId 查询类目树
+ *
+ * @param estateId 类目id
+ * @param callBack 回调
+ */
+ public getMallCategoryTree(estateId: number, callBack) {
+ this.http.get(environment.baseUrl + 'categoryEstates/getMallCategoryTree?estateId=' + estateId).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 获取全部区域
+ * @param callBack 回调
+ */
+ public getParentInfosByRegionId(regionId: number, callBack) {
+ this.http.get(environment.baseUrl + 'common/getParentInfosByRegionId?regionId=' + regionId).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 获取全部区域
+ * @param callBack 回调
+ */
+ public getAllRegion(callBack) {
+ this.http.get(environment.baseUrl + 'common/getAllProvinceAndCity').subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 获取所有 省 市 区
+ * @param callBack 回调
+ */
+ public getAllProvinceAndCityRegion(callBack) {
+ this.http.get(environment.baseUrl + 'common/getAllProvinceAndCityRegion').subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 获取行业分类
+ * @param callBack 回调
+ */
+ public getAllIndustry(callBack) {
+ this.http.get(environment.baseUrl + 'secCompanyIndustry/findIndustryTree').subscribe(data => {
+ callBack(data);
+ });
+ }
+
+
+ /**
+ * 根据数组对象去重
+ *
+ * @param object 对象
+ */
+ public getUniqueObject(object: any): any {
+ const map = {};
+ // 1、把数组元素作为对象的键存起来(这样就算有重复的元素,也会相互替换掉)
+ object.forEach(item => map[JSON.stringify(item)] = item);
+
+ // 2、再把对象的值抽成一个数组返回即为不重复的集合
+ return Object.keys(map).map(key => map[key]) as T[];
+ }
+
+ /**
+ * 根据String 非空判断
+ *
+ * @param name String
+ */
+ public getStringIsNull(name: string): boolean {
+ if (name == null) {
+ return true;
}
- }
+ if (name === '') {
+ return true;
+ }
+ }
+
+ /**
+ * 校验手机号码
+ *
+ * @param phone String
+ */
+ public verifyPhone(phone: string): boolean {
+ return phone.length === 11;
+ }
+
+ /**
+ * 根据数据类型查询数据字典
+ *
+ * @param codeType 页码
+ * @param callback 回调
+ */
+ public getDictionary(codeType: string, callback): any {
+ this.http.get(environment.baseUrl + '/common/getDictionaryByCodeType?codeType=' + codeType).subscribe(data => {
+ callback(data);
+ });
}
- return str;
- }
-
- /**
- * 校验当前用户是否拥有按钮权限
- * @param btnCode 按钮名称
- */
- public isBtnCompetence(btnCode: string): boolean {
- let buttonList = [];
- buttonList = this.storage.get(DATA).buttonList;
- if (buttonList != null && buttonList.length > 0) {
- if (buttonList.find(b => b.permissionCode === btnCode) != null) {
- return true;
- }
+
+ public mappingSysNameOl(codeType: string, callback): any {
+ this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeOl?codeType=' + codeType).subscribe(data => {
+ callback(data);
+ });
}
- return false;
- }
-
- /**
- * 提示框提示
- * @param message 传入文字
- * @param callback 回调
- */
- public showConfirm(message , callback) {
- this.modalService.confirm({
- nzTitle: message,
- nzOkText: '是',
- nzOkType: 'danger',
- nzOnOk: () => callback(true),
- nzCancelText: '否',
- });
- }
-
- /**
- * 根据estateId 查询类目树
- *
- * @param estateId 类目id
- * @param callBack 回调
- */
- public getMallCategoryTree(estateId: number , callBack) {
- this.http.get(environment.baseUrl + 'categoryEstates/getMallCategoryTree?estateId=' + estateId).subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 获取全部区域
- * @param callBack 回调
- */
- public getParentInfosByRegionId(regionId: number, callBack) {
- this.http.get(environment.baseUrl + 'common/getParentInfosByRegionId?regionId=' + regionId).subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 获取全部区域
- * @param callBack 回调
- */
- public getAllRegion(callBack) {
- this.http.get(environment.baseUrl + 'common/getAllProvinceAndCity').subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 获取所有 省 市 区
- * @param callBack 回调
- */
- public getAllProvinceAndCityRegion(callBack) {
- this.http.get(environment.baseUrl + 'common/getAllProvinceAndCityRegion').subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 获取行业分类
- * @param callBack 回调
- */
- public getAllIndustry(callBack) {
- this.http.get(environment.baseUrl + 'secCompanyIndustry/findIndustryTree').subscribe(data => {
- callBack(data);
- });
- }
-
-
- /**
- * 根据数组对象去重
- *
- * @param object 对象
- */
- public getUniqueObject(object: any): any {
- const map = {};
- // 1、把数组元素作为对象的键存起来(这样就算有重复的元素,也会相互替换掉)
- object.forEach(item => map[JSON.stringify(item)] = item);
-
- // 2、再把对象的值抽成一个数组返回即为不重复的集合
- return Object.keys(map).map(key => map[key]) as T[];
- }
-
- /**
- * 根据String 非空判断
- *
- * @param name String
- */
- public getStringIsNull(name: string): boolean {
- if (name == null) {
- return true;
- }
- if (name === '') {
- return true;
- }
- }
-
- /**
- * 校验手机号码
- *
- * @param phone String
- */
- public verifyPhone(phone: string): boolean {
- return phone.length === 11;
- }
-
- /**
- * 根据数据类型查询数据字典
- *
- * @param codeType 页码
- * @param callback 回调
- */
- public getDictionary(codeType: string , callback): any {
- this.http.get(environment.baseUrl + '/common/getDictionaryByCodeType?codeType=' + codeType).subscribe( data => {
- callback(data);
- });
- }
-
- public mappingSysNameOl(codeType: string , callback): any {
- this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeOl?codeType=' + codeType).subscribe( data => {
- callback(data);
- });
- }
-
- public updateDictionary(codeType: string , codeValue: string , callback): any {
- this.http.get(environment.baseUrl + '/common/updateDictionary?codeType=' + codeType + '&codeValue=' + codeValue).subscribe( data => {
- callback(data);
- });
- }
-
- /**
- *
- * 获取全部职位类型
- *
- * @param callback
- */
- getAllJobType(callback) {
- this.http.get('assets/json/jobType.json').subscribe( data => {
- callback(data);
- });
- }
-
- /**
- * 时间戳转化为年 月 日 时 分 秒
- * timestamp: 时间戳
- * format:返回格式,支持自定义,但参数必须与formatArr里保持一致
- */
- public formatTime(timestamp: number, format: string) {
-
- const formatArr = ['yyyy', 'MM', 'dd', 'HH', 'mm', 'ss'];
- const returnArr = [];
- const date = new Date(timestamp);
-
- returnArr.push(date.getFullYear());
- returnArr.push(this.formatNumber(date.getMonth() + 1));
- returnArr.push(this.formatNumber(date.getDate()));
-
- returnArr.push(this.formatNumber(date.getHours()));
- returnArr.push(this.formatNumber(date.getMinutes()));
- returnArr.push(this.formatNumber(date.getSeconds()));
-
- // tslint:disable-next-line:forin
- for (const i in returnArr) {
- format = format.replace(formatArr[i], returnArr[i]);
+
+ public updateDictionary(codeType: string, codeValue: string, callback): any {
+ this.http.get(environment.baseUrl + '/common/updateDictionary?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => {
+ callback(data);
+ });
}
- return format;
- }
-
- // 数据转化
- formatNumber(n) {
- n = n.toString();
- return n[1] ? n : '0' + n;
- }
-
- /**
- * Notification通知提醒框
- *
- * @param type 页码
- * @param title 标题
- * @param content 内容
- */
- public createNotification(type: string , title: string , content: string): void {
- this.notification.create(
- type,
- title,
- content
- );
- }
-
- /**
- * 职位列表key查询value
- *
- * @param value string
- * @param object object
- * @param callback 回调
- */
- public positionKeyValue(value: string , object: Array , callback): void {
- // tslint:disable-next-line:forin
- for (const i in object) {
- if (object[i].value === value) {
- callback(object[i].label);
- } else {
- this.positionKeyValue(value , object[i].children , callback);
- }
+
+ /**
+ *
+ * 获取全部职位类型
+ *
+ * @param callback
+ */
+ getAllJobType(callback) {
+ this.http.get('assets/json/jobType.json').subscribe(data => {
+ callback(data);
+ });
+ }
+
+ /**
+ * 时间戳转化为年 月 日 时 分 秒
+ * timestamp: 时间戳
+ * format:返回格式,支持自定义,但参数必须与formatArr里保持一致
+ */
+ public formatTime(timestamp: number, format: string) {
+
+ const formatArr = ['yyyy', 'MM', 'dd', 'HH', 'mm', 'ss'];
+ const returnArr = [];
+ const date = new Date(timestamp);
+
+ returnArr.push(date.getFullYear());
+ returnArr.push(this.formatNumber(date.getMonth() + 1));
+ returnArr.push(this.formatNumber(date.getDate()));
+
+ returnArr.push(this.formatNumber(date.getHours()));
+ returnArr.push(this.formatNumber(date.getMinutes()));
+ returnArr.push(this.formatNumber(date.getSeconds()));
+
+ // tslint:disable-next-line:forin
+ for (const i in returnArr) {
+ format = format.replace(formatArr[i], returnArr[i]);
+ }
+ return format;
+ }
+
+ // 数据转化
+ formatNumber(n) {
+ n = n.toString();
+ return n[1] ? n : '0' + n;
+ }
+
+ /**
+ * Notification通知提醒框
+ *
+ * @param type 页码
+ * @param title 标题
+ * @param content 内容
+ */
+ public createNotification(type: string, title: string, content: string): void {
+ this.notification.create(
+ type,
+ title,
+ content
+ );
+ }
+
+ /**
+ * 职位列表key查询value
+ *
+ * @param value string
+ * @param object object
+ * @param callback 回调
+ */
+ public positionKeyValue(value: string, object: Array, callback): void {
+ // tslint:disable-next-line:forin
+ for (const i in object) {
+ if (object[i].value === value) {
+ callback(object[i].label);
+ } else {
+ this.positionKeyValue(value, object[i].children, callback);
+ }
+ }
+ }
+
+ /**
+ * 根据数据类型查询数据字典
+ *
+ * @param codeType 类型
+ * @param codeValue value
+ * @param callback 回调
+ */
+ public getDictionaryByCodeTypeAndValue(codeType: string, codeValue: string, callback): any {
+ this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => {
+ callback(data);
+ });
+ }
+
+ /**
+ * 根据数据类型查询数据字典 同步请求
+ *
+ * @param codeType 类型
+ * @param codeValue value
+ * @param callback 回调
+ */
+ public getDictionaryByCodeTypeAndValuePromise(codeType: string, codeValue: string): any {
+ return new Promise(resolve => {
+ this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => {
+ resolve(data['return_data']['codeName']);
+ });
+ });
}
- }
-
- /**
- * 根据数据类型查询数据字典
- *
- * @param codeType 类型
- * @param codeValue value
- * @param callback 回调
- */
- public getDictionaryByCodeTypeAndValue(codeType: string , codeValue: string , callback): any {
- this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe( data => {
- callback(data);
- });
- }
-
- /**
- * 根据数据类型查询数据字典 同步请求
- *
- * @param codeType 类型
- * @param codeValue value
- * @param callback 回调
- */
- public getDictionaryByCodeTypeAndValuePromise(codeType: string , codeValue: string): any {
- return new Promise(resolve => {
- this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => {
- resolve(data['return_data']['codeName']);
- });
- });
- }
/**
* 查询登录页展示的公司
* @param param 参数
* @param callback 回调
*/
- public getHomeCompanyList(param: object, callback): any {
- this.http.get(environment.baseUrl + 'common/getHomeCompanyList?' + this.getWhereCondition(param)).subscribe( data => {
- callback(data);
- });
- }
-
- /**
- * 新增团油油品配置
- *
- * @param params 上传对象
- * @param callBack 回调
- * @return data 返回结果
- */
- public editGasDiscountOilPrice(params: object, callBack) {
- this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/editGasDiscountOilPrice', params).subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 查询公司列表
- *
- * @param paramsObject 对象
- * @param callBack 回调
- */
- public getList(paramsObject: object, callBack) {
- this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getList?' + this.getWhereCondition(paramsObject)).subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 根据estateId 查询类目树
- *
- * @param id 类目id
- * @param callBack 回调
- */
- public getDetailById(id: number , callBack) {
- this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getDetailById?id=' + id).subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 根据estateId 查询类目树
- *
- * @param id 类目id
- * @param callBack 回调
- */
- public delete(id: number , callBack) {
- this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/delete' , { id: id}).subscribe(data => {
- callBack(data);
- });
- }
-
- /**
- * 查询公司
- * @param param 参数
- * @param callback 回调
- */
- public getOrganizationList(param: object, callback): any {
- this.http.get(environment.baseUrl + 'bsOrganization/getOrganizationList?' + this.getWhereCondition(param)).subscribe( data => {
- callback(data);
- });
- }
+ public getHomeCompanyList(param: object, callback): any {
+ this.http.get(environment.baseUrl + 'common/getHomeCompanyList?' + this.getWhereCondition(param)).subscribe(data => {
+ callback(data);
+ });
+ }
+
+ /**
+ * 新增团油油品配置
+ *
+ * @param params 上传对象
+ * @param callBack 回调
+ * @return data 返回结果
+ */
+ public editGasDiscountOilPrice(params: object, callBack) {
+ this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/editGasDiscountOilPrice', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 查询公司列表
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public getList(paramsObject: object, callBack) {
+ this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getList?' + this.getWhereCondition(paramsObject)).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 根据estateId 查询类目树
+ *
+ * @param id 类目id
+ * @param callBack 回调
+ */
+ public getDetailById(id: number, callBack) {
+ this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getDetailById?id=' + id).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 根据estateId 查询类目树
+ *
+ * @param id 类目id
+ * @param callBack 回调
+ */
+ public delete(id: number, callBack) {
+ this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/delete', {id: id}).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 查询公司
+ * @param param 参数
+ * @param callback 回调
+ */
+ public getOrganizationList(param: object, callback): any {
+ this.http.get(environment.baseUrl + 'bsOrganization/getOrganizationList?' + this.getWhereCondition(param)).subscribe(data => {
+ callback(data);
+ });
+ }
+
+ /**
+ * 查询所有数据字典
+ * @param param 参数
+ * @param callback 回调
+ */
+ public getDictionaries(callback): any {
+ this.http.get(environment.baseUrl + 'bsOrganization/getOrganizationList').subscribe(data => {
+ callback(data);
+ });
+ }
}
diff --git a/src/app/services/local-storage.namespace.ts b/src/app/services/local-storage.namespace.ts
index 7932616..c98ad03 100644
--- a/src/app/services/local-storage.namespace.ts
+++ b/src/app/services/local-storage.namespace.ts
@@ -14,3 +14,4 @@ export const RESUME_STATUS = 'resume_status';
export const RESUME_STATUS_NAME = 'resume_status_name';
export const LOGINTYPE = 'loginType'; // 1 pc端登录 2 后台登录
export const COMPANYMENU = 'companyMenu'; // 1 公司路由
+export const ALL_DICTIONARY = 'dictionary'; // 数据字典
From ab505d03de9297cbf59a8db8c674cad05c7efe16 Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Thu, 26 May 2022 13:43:34 +0800
Subject: [PATCH 02/14] =?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-staff-edit.component.html | 45 +++++
.../gas-staff-edit.component.scss | 7 +
.../gas-staff-edit.component.spec.ts | 25 +++
.../gas-staff-edit.component.ts | 116 +++++++++++
.../gas-staff-list.component.html | 116 +++++++++++
.../gas-staff-list.component.scss | 0
.../gas-staff-list.component.spec.ts | 25 +++
.../gas-staff-list.component.ts | 184 ++++++++++++++++++
.../gas-staff/gas-staff-routing.module.ts | 15 ++
src/app/admin/gas-staff/gas-staff.module.ts | 27 +++
.../admin/index/index/index.component.html | 21 +-
src/app/app-common.module.ts | 4 +-
src/app/app-routing.module.ts | 5 +
.../pipes/gas-staff/gas-staff-status.pipe.ts | 19 ++
src/app/pipes/index.ts | 1 +
src/app/services/gas-staff.service.ts | 99 ++++++++++
src/environments/environment.ts | 8 +-
17 files changed, 706 insertions(+), 11 deletions(-)
create mode 100644 src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html
create mode 100644 src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss
create mode 100644 src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts
create mode 100644 src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts
create mode 100644 src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html
create mode 100644 src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.scss
create mode 100644 src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts
create mode 100644 src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts
create mode 100644 src/app/admin/gas-staff/gas-staff-routing.module.ts
create mode 100644 src/app/admin/gas-staff/gas-staff.module.ts
create mode 100644 src/app/pipes/gas-staff/gas-staff-status.pipe.ts
create mode 100644 src/app/services/gas-staff.service.ts
diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html
new file mode 100644
index 0000000..3e9f709
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html
@@ -0,0 +1,45 @@
+
+
+
+
+
diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss
new file mode 100644
index 0000000..1be0cf8
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss
@@ -0,0 +1,7 @@
+.btn-div {
+ width: 100%;
+ text-align: center;
+}
+.btn-post {
+ width: 25%;
+}
diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts
new file mode 100644
index 0000000..7dbde58
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { GasStaffEditComponent } from './gas-staff-edit.component';
+
+describe('GasStaffEditComponent', () => {
+ let component: GasStaffEditComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ GasStaffEditComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(GasStaffEditComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts
new file mode 100644
index 0000000..d4abf1f
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts
@@ -0,0 +1,116 @@
+import { Component, OnInit } from '@angular/core';
+import {FormBuilder, FormGroup, Validators} from '_@angular_forms@9.0.7@@angular/forms';
+import {NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {ActivatedRoute, Router} from '_@angular_router@9.0.7@@angular/router';
+import {GasStaffService} from '../../../services/gas-staff.service';
+import {CommonsService} from "../../../services/commons.service";
+import {ValidatorsService} from "../../../services/validators.service";
+
+@Component({
+ selector: 'app-gas-staff-edit',
+ templateUrl: './gas-staff-edit.component.html',
+ styleUrls: ['./gas-staff-edit.component.scss']
+})
+export class GasStaffEditComponent implements OnInit {
+
+ staffFrom: FormGroup;
+ btnLoading = false;
+
+ positionTypeArray = [];
+
+ constructor(private formBuilder: FormBuilder,
+ private modal: NzModalService,
+ private gasStaffService: GasStaffService,
+ private activatedRoute: ActivatedRoute,
+ private commonsService: CommonsService,
+ private router: Router) { }
+
+ ngOnInit(): void {
+ this.activatedRoute.queryParams.subscribe(queryParams => {
+ if (queryParams['id'] != null) {
+ this.getDetail(queryParams['id']);
+ }
+ });
+
+ this.commonsService.getDictionary('GAS_STAFF_POSITION_TYPE', data => {
+ this.positionTypeArray = data['return_data'];
+ });
+
+ this.staffFrom = this.formBuilder.group({
+ id: [null],
+ positionType: ['1', [Validators.required]],
+ name: [null, [Validators.required]],
+ telephone: [null, [Validators.required, ValidatorsService.mobile]],
+ });
+ }
+
+ /**
+ * 查询详情
+ * @param id
+ */
+ getDetail(id: number) {
+ this.gasStaffService.getStaffDetail(id, data => {
+ if (data['return_code'] === '000000') {
+ data['return_data']['positionType'] = String(data['return_data']['positionType']);
+ this.staffFrom.patchValue(data['return_data']);
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg'],
+ });
+ }
+ });
+ }
+
+ /**
+ * 提交
+ */
+ submitFrom() {
+ for (const i in this.staffFrom.controls) {
+ this.staffFrom.controls[i].markAsDirty();
+ this.staffFrom.controls[i].updateValueAndValidity();
+ }
+ if (this.staffFrom.status == null || this.staffFrom.status !== 'VALID') {
+ this.modal.warning({
+ nzTitle: '提示',
+ nzContent: '请规范填写所有的必填项信息',
+ });
+ return;
+ }
+
+ this.btnLoading = true;
+ if (this.staffFrom.value.id == null) {
+ this.gasStaffService.addStaff(this.staffFrom.value, data => {
+ if (data['return_code'] === '000000') {
+ this.modal.success({
+ nzTitle: '提示',
+ nzContent: '添加成功',
+ nzOnOk: () => this.router.navigateByUrl('admin/gas-staff/list')
+ });
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg'],
+ });
+ }
+ this.btnLoading = false;
+ });
+ } else {
+ this.gasStaffService.updateStaff(this.staffFrom.value, data => {
+ if (data['return_code'] === '000000') {
+ this.modal.success({
+ nzTitle: '提示',
+ nzContent: '修改成功',
+ nzOnOk: () => this.router.navigateByUrl('admin/gas-staff/list')
+ });
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg'],
+ });
+ }
+ this.btnLoading = false;
+ });
+ }
+ }
+}
diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html
new file mode 100644
index 0000000..d3abb7f
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
共计 {{dataObject.total?dataObject.total:0}} 条数据
+
+
+
+
+
+
+
+
+ 序号 |
+ 职位类型 |
+ 员工名称 |
+ 员工电话 |
+ 员工状态 |
+ 创建时间 |
+ 修改时间 |
+ 操作 |
+
+
+
+
+ {{i+1}} |
+ {{data.positionName}} |
+ {{data.name}} |
+ {{data.telephone}} |
+ {{data.status | gasStaffStatus}} |
+ {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+ {{data.updateTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+
+ 操作列表
+
+
+
+ |
+
+
+
+
+
+
diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.scss b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts
new file mode 100644
index 0000000..f392a96
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { GasStaffListComponent } from './gas-staff-list.component';
+
+describe('GasStaffListComponent', () => {
+ let component: GasStaffListComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ GasStaffListComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(GasStaffListComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts
new file mode 100644
index 0000000..8a259c7
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts
@@ -0,0 +1,184 @@
+import { Component, OnInit } from '@angular/core';
+import {environment} from '../../../../environments/environment';
+import {FormBuilder, FormGroup, Validators} from '_@angular_forms@9.0.7@@angular/forms';
+import {NzMessageService, NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {LocalStorageService} from '../../../services/local-storage.service';
+import {OrganizationService} from '../../../services/organization.service';
+import {CompanyAccountService} from '../../../services/company-account.service';
+import {Router} from '_@angular_router@9.0.7@@angular/router';
+import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace';
+import {GasStaffService} from '../../../services/gas-staff.service';
+import {CommonsService} from "../../../services/commons.service";
+
+@Component({
+ selector: 'app-gas-staff-list',
+ templateUrl: './gas-staff-list.component.html',
+ styleUrls: ['./gas-staff-list.component.scss']
+})
+export class GasStaffListComponent implements OnInit {
+ FILE_URL = environment.imageUrl;
+ roleType;
+ adminFlag;
+ loadingObject = {
+ spinning: false,
+ msg: '加载中'
+ };
+
+ dataObject: any = {};
+ tableLoading = true;
+ searchForm: FormGroup;
+ pageNum: number;
+ whereObject: any = {};
+
+ positionTypeArray = [];
+
+ constructor(private modal: NzModalService,
+ private message: NzMessageService,
+ private store: LocalStorageService,
+ private gasStaffService: GasStaffService,
+ private commonsService: CommonsService,
+ private router: Router,
+ private form: FormBuilder) {
+ this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType);
+ this.adminFlag = Number(this.store.get(ADMIN_INFO_OBJECT)['secUser'].adminFlag);
+ }
+
+ ngOnInit(): void {
+ this.searchForm = this.form.group({
+ name: [null],
+ telephone: [null],
+ positionType: [null],
+ status: [null],
+ });
+
+ this.commonsService.getDictionary('GAS_STAFF_POSITION_TYPE', data => {
+ this.positionTypeArray = data['return_data'];
+ });
+
+ this.requestData(1);
+ }
+
+ /**
+ * 请求数据
+ */
+ requestData(pageNum) {
+ this.tableLoading = true;
+ this.whereObject['pageNum'] = pageNum;
+ this.whereObject['pageSize'] = 10;
+ this.gasStaffService.getStaffList(this.whereObject, data => {
+ if (data['return_code'] === '000000') {
+ this.dataObject = data['return_data'];
+ } else {
+ this.modal.error(data['return_msg']);
+ }
+ this.tableLoading = false;
+ });
+ }
+
+ /**
+ * 搜索
+ * @param whereObject 条件
+ */
+ search(whereObject: object) {
+ this.whereObject = whereObject;
+ this.requestData(1);
+ }
+
+ /**
+ * 重置
+ */
+ resetForm(): void {
+ this.searchForm.reset();
+ }
+
+ /**
+ * 弹出删除对话框
+ */
+ showDisabledConfirm(id: number): void {
+ this.modal.confirm({
+ nzTitle: '警告',
+ nzContent: '是否禁用该员工',
+ nzOkText: '是',
+ nzCancelText: '否',
+ nzOkType: 'danger',
+ nzOnOk: () => this.disabledData(id)
+ });
+ }
+
+ /**
+ * 禁用数据
+ */
+ disabledData(id: number) {
+ this.gasStaffService.disabled({ staffId: id }, data => {
+ if (data['return_code'] === '000000') {
+ this.requestData(this.whereObject['pageNum']);
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg']
+ });
+ }
+ });
+ }
+
+ /**
+ * 弹出恢复对话框
+ */
+ showRecoverConfirm(id: number): void {
+ this.modal.confirm({
+ nzTitle: '警告',
+ nzContent: '是否恢复该员工状态',
+ nzOkText: '是',
+ nzCancelText: '否',
+ nzOkType: 'danger',
+ nzOnOk: () => this.recoverData(id)
+ });
+ }
+
+ /**
+ * 恢复数据
+ */
+ recoverData(id: number) {
+ this.gasStaffService.recover({ staffId: id }, data => {
+ if (data['return_code'] === '000000') {
+ this.requestData(this.whereObject['pageNum']);
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg']
+ });
+ }
+ });
+ }
+
+ /**
+ * 弹出删除对话框
+ */
+ showDelConfirm(id: number): void {
+ this.modal.confirm({
+ nzTitle: '警告',
+ nzContent: '是否删除该员工',
+ nzOkText: '是',
+ nzCancelText: '否',
+ nzOkType: 'danger',
+ nzOnOk: () => this.delData(id)
+ });
+ }
+
+ /**
+ * 删除数据
+ */
+ delData(id: number) {
+ this.gasStaffService.delStaff({ staffId: id }, data => {
+ if (data['return_code'] === '000000') {
+ this.requestData(this.whereObject['pageNum']);
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg']
+ });
+ }
+ });
+ }
+
+}
diff --git a/src/app/admin/gas-staff/gas-staff-routing.module.ts b/src/app/admin/gas-staff/gas-staff-routing.module.ts
new file mode 100644
index 0000000..2c12d73
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff-routing.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+import {GasStaffListComponent} from './gas-staff-list/gas-staff-list.component';
+import {GasStaffEditComponent} from './gas-staff-edit/gas-staff-edit.component';
+
+const routes: Routes = [
+ { path: 'list', component: GasStaffListComponent},
+ { path: 'edit', component: GasStaffEditComponent},
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule]
+})
+export class GasStaffRoutingModule { }
diff --git a/src/app/admin/gas-staff/gas-staff.module.ts b/src/app/admin/gas-staff/gas-staff.module.ts
new file mode 100644
index 0000000..2304dc2
--- /dev/null
+++ b/src/app/admin/gas-staff/gas-staff.module.ts
@@ -0,0 +1,27 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { GasStaffRoutingModule } from './gas-staff-routing.module';
+import { GasStaffListComponent } from './gas-staff-list/gas-staff-list.component';
+import { GasStaffEditComponent } from './gas-staff-edit/gas-staff-edit.component';
+import {NgZorroAntdModule} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {FormsModule, ReactiveFormsModule} from '_@angular_forms@9.0.7@@angular/forms';
+import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module';
+import {AppCommonModule} from '../../app-common.module';
+import {NgxEchartsModule} from '_ngx-echarts@4.2.2@ngx-echarts';
+
+
+@NgModule({
+ declarations: [GasStaffListComponent, GasStaffEditComponent],
+ imports: [
+ CommonModule,
+ GasStaffRoutingModule,
+ NgZorroAntdModule,
+ ReactiveFormsModule,
+ FormsModule,
+ BreadcrumbModule,
+ AppCommonModule,
+ NgxEchartsModule,
+ ]
+})
+export class GasStaffModule { }
diff --git a/src/app/admin/index/index/index.component.html b/src/app/admin/index/index/index.component.html
index 4618094..5734a56 100644
--- a/src/app/admin/index/index/index.component.html
+++ b/src/app/admin/index/index/index.component.html
@@ -196,15 +196,18 @@
-
+
- 编号 |
- 类型 |
- 交易金额 |
- 变更前金额 |
- 变更后金额 |
+ 编号 |
+ 类型 |
+ 交易金额 |
+ 变更前金额 |
+ 变更后金额 |
+ 来源类型 |
内容 |
+ 操作时间 |
+ 操作人 |
@@ -214,7 +217,13 @@
{{'¥' + data.amount}} |
{{'¥' + data.beforeAmount}} |
{{'¥' + data.afterAmount}} |
+
+ 金额充值
+ 订单消费
+ 订单退款
| {{data.sourceContent}} |
+ {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+ {{data.opUserName}} |
diff --git a/src/app/app-common.module.ts b/src/app/app-common.module.ts
index 43159ee..06874e4 100644
--- a/src/app/app-common.module.ts
+++ b/src/app/app-common.module.ts
@@ -43,8 +43,9 @@ import {
OilCardBindStatusPipe,
OilCardRecordTypePipe, OilCardRecordSourceTypePipe
} from './pipes';
-import {OilCardStatusPipe} from "./pipes/oil-card/oil-card-status.pipe";
+import {OilCardStatusPipe} from './pipes/oil-card/oil-card-status.pipe';
import { OilTypePipe } from './pipes/store/oil-type.pipe';
+import {GasStaffStatusPipe} from './pipes/gas-staff/gas-staff-status.pipe';
@@ -86,6 +87,7 @@ const PIPES = [
OilCardBindStatusPipe,
OilCardRecordTypePipe,
OilCardRecordSourceTypePipe,
+ GasStaffStatusPipe,
];
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 74cf71a..4bf8856 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -117,6 +117,11 @@ const routes: Routes = [
loadChildren: () => import('./admin/gz-sinopec/gz-sinopec.module').then(m => m.GzSinopecModule),
canActivate: [InitGuardService]
},
+ {
+ path: 'gas-staff',
+ loadChildren: () => import('./admin/gas-staff/gas-staff.module').then(m => m.GasStaffModule),
+ canActivate: [InitGuardService]
+ },
],
},
];
diff --git a/src/app/pipes/gas-staff/gas-staff-status.pipe.ts b/src/app/pipes/gas-staff/gas-staff-status.pipe.ts
new file mode 100644
index 0000000..dd58646
--- /dev/null
+++ b/src/app/pipes/gas-staff/gas-staff-status.pipe.ts
@@ -0,0 +1,19 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+ name: 'gasStaffStatus'
+})
+export class GasStaffStatusPipe implements PipeTransform {
+
+ transform(value: number): string {
+ switch (value) {
+ case 0:
+ return '删除';
+ case 1:
+ return '正常';
+ case 2:
+ return '已禁用';
+ }
+ }
+
+}
diff --git a/src/app/pipes/index.ts b/src/app/pipes/index.ts
index 7481d5f..42f638d 100644
--- a/src/app/pipes/index.ts
+++ b/src/app/pipes/index.ts
@@ -32,3 +32,4 @@ export * from './oil-card/oil-card-status.pipe';
export * from './oil-card/oil-card-bind-status.pipe';
export * from './oil-card/oil-card-record-type.pipe';
export * from './oil-card/oil-card-record-source-type.pipe';
+export * from './gas-staff/gas-staff-status.pipe';
diff --git a/src/app/services/gas-staff.service.ts b/src/app/services/gas-staff.service.ts
new file mode 100644
index 0000000..6b38116
--- /dev/null
+++ b/src/app/services/gas-staff.service.ts
@@ -0,0 +1,99 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from '_@angular_common@9.0.7@@angular/common/http';
+import {CommonsService} from './commons.service';
+import {environment} from '../../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class GasStaffService {
+
+ constructor(
+ private http: HttpClient,
+ private common: CommonsService
+ ) { }
+
+ /**
+ * 禁用油品
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public addStaff(param: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasStaff/addGasStaff', param).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 禁用油品
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public updateStaff(param: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasStaff/updateGasStaff', param).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 禁用
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public disabled(param: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasStaff/disabled', param).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 恢复
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public recover(param: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasStaff/recover', param).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 删除
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public delStaff(param: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasStaff/delStaff', param).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 禁用油品
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public getStaffDetail(staffId: number, callBack) {
+ this.http.get(environment.baseUrl + 'gasStaff/getStaffDetail?staffId=' + staffId).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 禁用油品
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public getStaffList(param: object, callBack) {
+ this.http.get(environment.baseUrl + 'gasStaff/getStaffList?' + this.common.getWhereCondition(param)).subscribe(data => {
+ callBack(data);
+ });
+ }
+}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index ca22a39..0f97376 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -4,10 +4,10 @@
export const environment = {
production: false,
-/* baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'http://localhost:9302/filesystem/',*/
- baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'https://hsgcs.dctpay.com/filesystem/',
+ baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'http://localhost:9302/filesystem/',
+/* baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://hsgcs.dctpay.com/filesystem/',*/
key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',
};
From 8cfbe6cf2ba64dfd351b82b1c3eb97072fc36bfa Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Fri, 27 May 2022 09:23:34 +0800
Subject: [PATCH 03/14] =?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-oil-price-routing.module.ts | 14 +++
.../gas-oil-price/gas-oil-price.module.ts | 26 +++++
.../oil-price-official-list.component.html | 100 ++++++++++++++++++
.../oil-price-official-list.component.scss | 0
.../oil-price-official-list.component.spec.ts | 25 +++++
.../oil-price-official-list.component.ts | 91 ++++++++++++++++
src/app/app-routing.module.ts | 5 +
.../oil-price/oil-price-official.service.ts | 53 ++++++++++
8 files changed, 314 insertions(+)
create mode 100644 src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts
create mode 100644 src/app/admin/gas-oil-price/gas-oil-price.module.ts
create mode 100644 src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.html
create mode 100644 src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.scss
create mode 100644 src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.spec.ts
create mode 100644 src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.ts
create mode 100644 src/app/services/oil-price/oil-price-official.service.ts
diff --git a/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts b/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts
new file mode 100644
index 0000000..38a18b6
--- /dev/null
+++ b/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+import {OilPriceOfficialListComponent} from './oil-price-official-list/oil-price-official-list.component';
+
+
+const routes: Routes = [
+ { path: 'official-list', component: OilPriceOfficialListComponent}
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule]
+})
+export class GasOilPriceRoutingModule { }
diff --git a/src/app/admin/gas-oil-price/gas-oil-price.module.ts b/src/app/admin/gas-oil-price/gas-oil-price.module.ts
new file mode 100644
index 0000000..4422682
--- /dev/null
+++ b/src/app/admin/gas-oil-price/gas-oil-price.module.ts
@@ -0,0 +1,26 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { GasOilPriceRoutingModule } from './gas-oil-price-routing.module';
+import { OilPriceOfficialListComponent } from './oil-price-official-list/oil-price-official-list.component';
+import {NgZorroAntdModule} from "_ng-zorro-antd@9.3.0@ng-zorro-antd";
+import {FormsModule, ReactiveFormsModule} from "_@angular_forms@9.0.7@@angular/forms";
+import {BreadcrumbModule} from "../../common/breadcrumb/breadcrumb.module";
+import {AppCommonModule} from "../../app-common.module";
+import {NgxEchartsModule} from "_ngx-echarts@4.2.2@ngx-echarts";
+
+
+@NgModule({
+ declarations: [OilPriceOfficialListComponent],
+ imports: [
+ CommonModule,
+ GasOilPriceRoutingModule,
+ NgZorroAntdModule,
+ ReactiveFormsModule,
+ FormsModule,
+ BreadcrumbModule,
+ AppCommonModule,
+ NgxEchartsModule,
+ ]
+})
+export class GasOilPriceModule { }
diff --git a/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.html b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.html
new file mode 100644
index 0000000..cd2af9d
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
共计 {{dataObject.total?dataObject.total:0}} 条数据
+
+
+
+
+
+
+
+
+ 序号 |
+ 区域名称 |
+ 国标价 |
+ 油品号 |
+ 油品类型 |
+ 操作 |
+
+
+
+
+ {{i+1}} |
+ {{data.regionName}} |
+ {{data.priceOfficial}} |
+ {{data.oilNo}} |
+ {{data.oilTypeName}} |
+
+ 操作列表
+
+
+
+ |
+
+
+
+
+
+
diff --git a/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.scss b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.spec.ts b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.spec.ts
new file mode 100644
index 0000000..a90f1a4
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { OilPriceOfficialListComponent } from './oil-price-official-list.component';
+
+describe('OilPriceOfficialListComponent', () => {
+ let component: OilPriceOfficialListComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ OilPriceOfficialListComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(OilPriceOfficialListComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.ts b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.ts
new file mode 100644
index 0000000..4eea6fc
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-official-list/oil-price-official-list.component.ts
@@ -0,0 +1,91 @@
+import { Component, OnInit } from '@angular/core';
+import {environment} from '../../../../environments/environment';
+import {FormBuilder, FormGroup} from '_@angular_forms@9.0.7@@angular/forms';
+import {NzMessageService, NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {LocalStorageService} from '../../../services/local-storage.service';
+import {CommonsService} from '../../../services/commons.service';
+import {Router} from '_@angular_router@9.0.7@@angular/router';
+import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace';
+import {OilPriceOfficialService} from '../../../services/oil-price/oil-price-official.service';
+
+@Component({
+ selector: 'app-oil-price-official-list',
+ templateUrl: './oil-price-official-list.component.html',
+ styleUrls: ['./oil-price-official-list.component.scss']
+})
+export class OilPriceOfficialListComponent implements OnInit {
+ FILE_URL = environment.imageUrl;
+ roleType;
+ adminFlag;
+ loadingObject = {
+ spinning: false,
+ msg: '加载中'
+ };
+
+ dataObject: any = {};
+ tableLoading = true;
+ searchForm: FormGroup;
+ pageNum: number;
+ whereObject: any = {};
+
+ oilNoArray = [];
+
+ constructor(private modal: NzModalService,
+ private message: NzMessageService,
+ private store: LocalStorageService,
+ private oilPriceOfficialService: OilPriceOfficialService,
+ private commonsService: CommonsService,
+ private router: Router,
+ private form: FormBuilder) {
+ this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType);
+ this.adminFlag = Number(this.store.get(ADMIN_INFO_OBJECT)['secUser'].adminFlag);
+ }
+
+ ngOnInit(): void {
+ this.searchForm = this.form.group({
+ regionName: [null],
+ oilNo: [null],
+ oilType: [null],
+ });
+
+ this.commonsService.getDictionary('GAS_OIL_TYPE', data => {
+ this.oilNoArray = data['return_data'];
+ });
+
+ this.requestData(1);
+ }
+
+ /**
+ * 请求数据
+ */
+ requestData(pageNum) {
+ this.tableLoading = true;
+ this.whereObject['pageNum'] = pageNum;
+ this.whereObject['pageSize'] = 10;
+ this.oilPriceOfficialService.getOilPriceOfficialList(this.whereObject, data => {
+ if (data['return_code'] === '000000') {
+ this.dataObject = data['return_data'];
+ } else {
+ this.modal.error(data['return_msg']);
+ }
+ this.tableLoading = false;
+ });
+ }
+
+ /**
+ * 搜索
+ * @param whereObject 条件
+ */
+ search(whereObject: object) {
+ this.whereObject = whereObject;
+ this.requestData(1);
+ }
+
+ /**
+ * 重置
+ */
+ resetForm(): void {
+ this.searchForm.reset();
+ }
+
+}
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 4bf8856..30b8329 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -122,6 +122,11 @@ const routes: Routes = [
loadChildren: () => import('./admin/gas-staff/gas-staff.module').then(m => m.GasStaffModule),
canActivate: [InitGuardService]
},
+ {
+ path: 'gas-oil-price',
+ loadChildren: () => import('./admin/gas-oil-price/gas-oil-price.module').then(m => m.GasOilPriceModule),
+ canActivate: [InitGuardService]
+ },
],
},
];
diff --git a/src/app/services/oil-price/oil-price-official.service.ts b/src/app/services/oil-price/oil-price-official.service.ts
new file mode 100644
index 0000000..be7f713
--- /dev/null
+++ b/src/app/services/oil-price/oil-price-official.service.ts
@@ -0,0 +1,53 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from '_@angular_common@9.0.7@@angular/common/http';
+import {CommonsService} from '../commons.service';
+import {environment} from '../../../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class OilPriceOfficialService {
+
+ constructor(
+ private http: HttpClient,
+ private common: CommonsService
+ ) { }
+
+
+ /**
+ * 修改油品国标价价格
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public updateOilPriceOfficial(paramsObject: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasOilPriceOfficial/updateOilPriceOfficial', paramsObject).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 查询油品国标价列表
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public getOilPriceOfficialList(paramsObject: object, callBack) {
+ this.http.get(environment.baseUrl + 'gasOilPriceOfficial/getOilPriceOfficialList?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 查询油品国标价详情
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public getOilPriceOfficialDetail(regionId: number, oilNo: number, callBack) {
+ this.http.get(environment.baseUrl + 'gasOilPriceOfficial/getOilPriceOfficialDetail?regionId=' + regionId + '&oilNo=' + oilNo).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+}
From 7106b88c6ba9d639e0adc075356f03e2c66a030a Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Fri, 27 May 2022 17:37:29 +0800
Subject: [PATCH 04/14] =?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
---
.../admin/index/index/index.component.html | 37 +++++++++++-
src/app/admin/index/index/index.component.ts | 20 +++++++
.../merchant-list.component.html | 19 ++++++-
.../merchant-list/merchant-list.component.ts | 57 ++++++++++++++++++-
.../oil-station-order.component.html | 4 +-
.../oil-station-order.component.ts | 3 +
src/app/services/gas.service.ts | 14 ++++-
src/app/services/index.service.ts | 13 +++++
src/app/services/mer-amount.service.ts | 28 +++++++++
9 files changed, 186 insertions(+), 9 deletions(-)
create mode 100644 src/app/services/mer-amount.service.ts
diff --git a/src/app/admin/index/index/index.component.html b/src/app/admin/index/index/index.component.html
index 5734a56..f37ae00 100644
--- a/src/app/admin/index/index/index.component.html
+++ b/src/app/admin/index/index/index.component.html
@@ -8,7 +8,7 @@
-
+
@@ -64,6 +64,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 序号 |
+ 油站名称 |
+ 油站地址 |
+ 油站加油总额 |
+
+
+
+
+ {{ i + 1 }} |
+ {{ data.store_name }} |
+ {{ data.address }} |
+ {{ '¥' + data.countPrice }} |
+
+
+
+
+
+
diff --git a/src/app/admin/index/index/index.component.ts b/src/app/admin/index/index/index.component.ts
index 4f38c5c..9efaa93 100644
--- a/src/app/admin/index/index/index.component.ts
+++ b/src/app/admin/index/index/index.component.ts
@@ -34,6 +34,10 @@ export class IndexComponent implements OnInit {
history: {},
today: {},
};
+ merGasCount: any = {
+ amount: 0,
+ storeList: []
+ };
recordList = [];
tyBalance;
webSocket: WebSocket;
@@ -72,6 +76,10 @@ export class IndexComponent implements OnInit {
this.getGasAccount();
}
}
+
+ if (this.store.get(ADMIN_INFO_OBJECT)['secUser']['objectType'] === 2) {
+ this.getMerGasStatistical();
+ }
}
// 查询余额
@@ -272,6 +280,18 @@ export class IndexComponent implements OnInit {
});
}
+ // 查询加油站统计
+ public getMerGasStatistical(): void {
+ this.index.getMerGasStatistical(data => {
+ if (data['return_code'] === '000000') {
+ this.merGasCount = data['return_data'];
+ this.loading = false;
+ } else {
+ this.message.error(data['return_msg']);
+ }
+ });
+ }
+
// 查询预存账户油站记录
public getGasAccountRecord(): void {
const paramsObject = {
diff --git a/src/app/admin/merchant/merchant-list/merchant-list.component.html b/src/app/admin/merchant/merchant-list/merchant-list.component.html
index dcecb3d..706d723 100644
--- a/src/app/admin/merchant/merchant-list/merchant-list.component.html
+++ b/src/app/admin/merchant/merchant-list/merchant-list.component.html
@@ -80,7 +80,7 @@
商户电话 |
创建时间 |
状态 |
-
操作 |
+
操作 |
@@ -103,10 +103,27 @@
+
+
+
+
+
+
+
diff --git a/src/app/admin/merchant/merchant-list/merchant-list.component.ts b/src/app/admin/merchant/merchant-list/merchant-list.component.ts
index 53fd260..3737264 100644
--- a/src/app/admin/merchant/merchant-list/merchant-list.component.ts
+++ b/src/app/admin/merchant/merchant-list/merchant-list.component.ts
@@ -1,11 +1,12 @@
import { Component, OnInit } from '@angular/core';
-import {FormBuilder, FormGroup} from '@angular/forms';
+import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {IconService} from '../../../services/icon.service';
-import {NzMessageService} from 'ng-zorro-antd';
+import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {CommonsService} from '../../../services/commons.service';
import {MerchantService} from '../../../services/merchant.service';
import {Router} from '@angular/router';
import {environment} from '../../../../environments/environment';
+import {MerAmountService} from "../../../services/mer-amount.service";
@Component({
selector: 'app-merchant-list',
@@ -21,13 +22,18 @@ export class MerchantListComponent implements OnInit {
pageSize = 10; // 条码
loading = true;
+ rechargeModal = false;
+ rechargeForm: FormGroup; // 充值模态框
+
constructor(
private form: FormBuilder,
private merchant: MerchantService,
private iconService: IconService,
private message: NzMessageService,
+ private merAmountService: MerAmountService,
private router: Router,
- private common: CommonsService
+ private common: CommonsService,
+ private modal: NzModalService,
) {
}
@@ -42,6 +48,11 @@ export class MerchantListComponent implements OnInit {
telephone: [null],
status: [null],
});
+
+ this.rechargeForm = this.form.group({
+ merId: [null],
+ amount: [null, [Validators.required]],
+ });
this.getRequest(true, this.searchForm.value);
}
@@ -131,5 +142,45 @@ export class MerchantListComponent implements OnInit {
}
}).then(r => console.log(r));
}
+
+
+ showRechargeModal(merId: number) {
+ this.rechargeForm.patchValue({ merId: merId});
+ this.rechargeModal = true;
+ }
+
+ closeRechargeModal() {
+ this.rechargeModal = false;
+ }
+
+ submitRecharge() {
+ for (const i in this.rechargeForm.controls) {
+ this.rechargeForm.controls[i].markAsDirty();
+ this.rechargeForm.controls[i].updateValueAndValidity();
+ }
+ if (this.rechargeForm.status == null || this.rechargeForm.status !== 'VALID') {
+ this.modal.warning({
+ nzTitle: '提示',
+ nzContent: '请填写所有必填项',
+ });
+ return;
+ }
+
+ this.merAmountService.recharge(this.rechargeForm.value, data => {
+ if (data['return_code'] === '000000') {
+ this.modal.success({
+ nzTitle: '提示',
+ nzContent: '充值成功',
+ });
+ this.closeRechargeModal();
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg'],
+ });
+ }
+ });
+ }
+
}
diff --git a/src/app/admin/order/oil-station-order/oil-station-order.component.html b/src/app/admin/order/oil-station-order/oil-station-order.component.html
index b295686..7686ff5 100644
--- a/src/app/admin/order/oil-station-order/oil-station-order.component.html
+++ b/src/app/admin/order/oil-station-order/oil-station-order.component.html
@@ -111,8 +111,8 @@
{{data.status | orderCouponStatus}} |
详情
-
- 退款
+
+ 退款
|
diff --git a/src/app/admin/order/oil-station-order/oil-station-order.component.ts b/src/app/admin/order/oil-station-order/oil-station-order.component.ts
index cbd0e9b..4c78b49 100644
--- a/src/app/admin/order/oil-station-order/oil-station-order.component.ts
+++ b/src/app/admin/order/oil-station-order/oil-station-order.component.ts
@@ -10,6 +10,7 @@ import {MerchantService} from '../../../services/merchant.service';
import {LocalStorageService} from '../../../services/local-storage.service';
import {CommonsService} from '../../../services/commons.service';
import {WebsocketService} from '../../../services/websocket.service';
+import {ADMIN_INFO_OBJECT} from "../../../services/local-storage.namespace";
@Component({
selector: 'app-oil-station-order',
@@ -34,6 +35,7 @@ export class OilStationOrderComponent implements OnInit {
isVisibleDetail = false;
refundContent: string;
roleType: number;
+ secUser: object;
constructor(
private form: FormBuilder,
private order: OrderService,
@@ -49,6 +51,7 @@ export class OilStationOrderComponent implements OnInit {
}
ngOnInit(): void {
+ this.secUser = this.store.get(ADMIN_INFO_OBJECT)['secUser'];
this.init();
// 接收消息
this.webSocketService.messageSubject.subscribe(
diff --git a/src/app/services/gas.service.ts b/src/app/services/gas.service.ts
index 6dc73e5..64664d6 100644
--- a/src/app/services/gas.service.ts
+++ b/src/app/services/gas.service.ts
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import {HttpClient} from '_@angular_common@9.0.7@@angular/common/http';
import {CommonsService} from './commons.service';
-import {environment} from "../../environments/environment";
+import {environment} from '../../environments/environment';
@Injectable({
providedIn: 'root'
@@ -13,6 +13,18 @@ export class GasService {
private common: CommonsService
) { }
+ /**
+ * 查询商户油站统计
+ *
+ * @param param 参数对象
+ * @param callBack 回调
+ */
+ public getMerGasStatistical(param: object, callBack) {
+ this.http.post(environment.baseUrl + 'highGas/getMerGasStatistical', param).subscribe(data => {
+ callBack(data);
+ });
+ }
+
/**
* 禁用油品
*
diff --git a/src/app/services/index.service.ts b/src/app/services/index.service.ts
index 9195faa..7377d43 100644
--- a/src/app/services/index.service.ts
+++ b/src/app/services/index.service.ts
@@ -164,6 +164,19 @@ export class IndexService {
});
}
+ /**
+ * @Author Sum1Dream
+ * @methodName getGasStatistical
+ * @Description // 查询加油站统计
+ * @Date 10:00 2022/5/18
+ * @Param
+ */
+ public getMerGasStatistical(callBack) {
+ this.http.post(environment.baseUrl + 'highGas/getMerGasStatistical', null).subscribe(data => {
+ callBack(data);
+ });
+ }
+
/**
* @Author Sum1Dream
* @methodName getAccountRecordList
diff --git a/src/app/services/mer-amount.service.ts b/src/app/services/mer-amount.service.ts
new file mode 100644
index 0000000..2ff2b6c
--- /dev/null
+++ b/src/app/services/mer-amount.service.ts
@@ -0,0 +1,28 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from '_@angular_common@9.0.7@@angular/common/http';
+import {CommonsService} from './commons.service';
+import {environment} from '../../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class MerAmountService {
+
+ constructor(
+ private http: HttpClient,
+ private common: CommonsService
+ ) { }
+
+ /**
+ * 充值
+ *
+ * @param params 上传对象
+ * @param callBack 回调
+ * @return data 返回结果
+ */
+ public recharge(params: object, callBack) {
+ this.http.post(environment.baseUrl + 'merAccount/recharge', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+}
From 82fc004941b75520f64d428df940dd9df0a0be22 Mon Sep 17 00:00:00 2001
From: Sum1Dream <418471657@qq.com>
Date: Mon, 30 May 2022 10:46:19 +0800
Subject: [PATCH 05/14] =?UTF-8?q?=E5=90=88=E5=B9=B6=E8=87=AA=E5=BB=BA?=
=?UTF-8?q?=E7=AB=99=E4=BB=A3=E7=A0=81=E5=88=B0=E8=AF=9D=E8=B4=B9=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../order-list/order-list.component.html | 26 ++---
.../price-list/price-list.component.html | 110 ++++++++++++++----
.../price-list/price-list.component.ts | 79 +++++++++----
src/app/app-common.module.ts | 7 +-
src/app/pipes/index.ts | 2 +
src/app/services/recharge.service.ts | 8 +-
src/environments/environment.ts | 4 +-
7 files changed, 163 insertions(+), 73 deletions(-)
diff --git a/src/app/admin/recharge-order/order-list/order-list.component.html b/src/app/admin/recharge-order/order-list/order-list.component.html
index 6d700a0..a89cab0 100644
--- a/src/app/admin/recharge-order/order-list/order-list.component.html
+++ b/src/app/admin/recharge-order/order-list/order-list.component.html
@@ -125,15 +125,15 @@
共计 {{total}} 条数据
-
-
-
+
+
+
+
+
+
+
+
+
{{data.status | rechargeStatus}}
详情
- 再次充值
- 申请退款
+
+
|
@@ -215,10 +215,6 @@
{{data['refundTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}
{{data['status'] | rechargeStatus}}
-
-
-
-
diff --git a/src/app/admin/recharge-order/price-list/price-list.component.html b/src/app/admin/recharge-order/price-list/price-list.component.html
index 122d98a..b2bf4e8 100644
--- a/src/app/admin/recharge-order/price-list/price-list.component.html
+++ b/src/app/admin/recharge-order/price-list/price-list.component.html
@@ -23,7 +23,7 @@
充值平台
-
+
@@ -41,6 +41,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
充值方式
@@ -96,20 +108,25 @@
[nzTotal]="total"
[(nzPageIndex)]="pageNum"
[(nzPageSize)]="pageSize"
+ [nzScroll]="{ x: '1200px' }"
(nzPageIndexChange)="getRequest(false , searchForm.value)"
(nzPageSizeChange)="getRequest(false , searchForm.value)">
- 编号 |
- 充值金额 |
- 折扣比例 |
- 支付金额 |
- 展示区域 |
- 商品ID |
- 充值金额 |
- 支付金额 |
- 创建时间 |
- 操作 |
+ 编号 |
+ 充值金额 |
+ 折扣比例 |
+ 支付金额 |
+ 积分抵扣比例 |
+ 运营商 |
+ 充值类型 |
+ 充值平台 |
+ 支付方式 |
+ 展示平台 |
+ 商品ID |
+ 创建时间 |
+ 状态 |
+ 操作 |
@@ -118,16 +135,19 @@
{{data.rechargePrice}} |
{{data.discount + "%"}} |
{{data.payPrice}} |
+ {{data.integralDiscount + "%"}} |
{{data.operatorType | rechargePrice}} |
{{data.rechargeType== 1? '快充':'慢充'}} |
- {{data.showType | showType}} |
- {{data.price}} |
- {{data.realPrice}} |
+ {{data.rechargePlatform | rechargePlatform}} |
+ {{data.productPayTypeString.substring(0 , data.productPayTypeString.length - 1)}} |
+ {{data.productPlatformString.substring(0 , data.productPlatformString.length - 1)}} |
+ {{data.goodsId == null ? '暂未配置' : data.goodsId}} |
{{data.createTime | date: 'yyyy-MM-dd HH:mm'}} |
-
- 编辑
- {{data.status === 1 ? '售空': '禁用'}}
- 删除
+ | {{data.status | priceStatus}} |
+
+ 编辑
+ {{data.status === 1 ? '售空': '上线'}}
+ 删除
|
@@ -135,7 +155,7 @@
diff --git a/src/app/admin/recharge-order/price-list/price-list.component.ts b/src/app/admin/recharge-order/price-list/price-list.component.ts
index 51419d6..903eccd 100644
--- a/src/app/admin/recharge-order/price-list/price-list.component.ts
+++ b/src/app/admin/recharge-order/price-list/price-list.component.ts
@@ -31,7 +31,7 @@ export class PriceListComponent implements OnInit {
isVisible = false;
id: number;
edit = false;
-
+ payPrice;
isVisibleGoods = false;
realPrice = 0;
@@ -86,7 +86,7 @@ export class PriceListComponent implements OnInit {
});
this.validateForm = this.form.group({
discount: [null, [Validators.required]],
- integralDiscount: [null, [Validators.required]],
+ integralDiscount: [0],
operatorType: [null, [Validators.required]],
rechargePrices: [null, [Validators.required]],
productPlatform: [null, [Validators.required]],
@@ -94,6 +94,10 @@ export class PriceListComponent implements OnInit {
rechargePlatform: [null, [Validators.required]],
rechargeWay: [null, [Validators.required]],
payType: [null, [Validators.required]],
+ rechargePrice: [null],
+ payPrice: [null],
+ sort: [null],
+ goodsId: [null],
});
@@ -131,6 +135,10 @@ export class PriceListComponent implements OnInit {
this.id = id;
this.edit = true;
this.recharge.findById(id, data => {
+ data['return_data']['productPlatform'] = data['return_data']['productPlatformString'].substring(0 , data['return_data']['productPlatformString'].length - 1).split(',');
+ data['return_data']['rechargePlatform'] = data['return_data']['rechargePlatform'].substring(1 , data['return_data']['rechargePlatform'].length - 1).split('-');
+ data['return_data']['payType'] = data['return_data']['productPayTypeString'].substring(0 , data['return_data']['productPayTypeString'].length - 1).split(',');
+ data['return_data']['rechargePrices'] = ['1'];
this.validateForm.patchValue(data['return_data']);
this.isVisible = true;
});
@@ -141,17 +149,8 @@ export class PriceListComponent implements OnInit {
}
}
- // 查看详情
- public getDetail(id: number): void {
- this.router.navigate(['/admin/company/company-detail'], {
- queryParams: {
- companyId: id
- }
- }).then(r => console.log(r));
- }
-
-
handleOk(): void {
+ const wait = this.message.loading('提交中..', { nzDuration: 0 }).messageId;
// tslint:disable-next-line:forin
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsDirty();
@@ -166,6 +165,7 @@ export class PriceListComponent implements OnInit {
this.validateForm.value['id'] = this.id;
this.recharge.updatePrice(this.validateForm.value, data => {
if (data['return_code'] === '000000') {
+ this.message.remove(wait);
this.message.success('修改成功');
this.getRequest(false, this.searchForm.value);
this.validateForm.reset();
@@ -177,6 +177,7 @@ export class PriceListComponent implements OnInit {
} else {
this.recharge.insertPrice(this.validateForm.value, data => {
if (data['return_code'] === '000000') {
+ this.message.remove(wait);
this.message.success('添加成功');
this.getRequest(false, this.searchForm.value);
this.isVisible = false;
@@ -190,33 +191,59 @@ export class PriceListComponent implements OnInit {
}
handleCancel(): void {
+ this.validateForm.reset();
this.isVisible = false;
}
- public getForbiddenUser(id, status: any): void {
-
- const message = (status === 1 ? '是否禁用' : '是否启用');
+ public getForbiddenUser(idPost, status: any): void {
+
+ let statusPost;
+ let message;
+
+ switch (status) {
+ case 1:
+ statusPost = 2;
+ message = '是否售空';
+ break;
+ case 2:
+ statusPost = 1;
+ message = '是否上线';
+ break;
+ case 3:
+ statusPost = 1;
+ message = '是否上线';
+ break;
+ }
- this.common.showConfirm(message, data => {
- if (data) {
- this.recharge.onAndOffShelves(id, dataUser => {
- if (dataUser['return_code'] === '000000') {
- this.message.success('操作成功');
- this.getRequest(false , this.searchForm.value);
+ this.common.showConfirm(message, item => {
+ if (item) {
+ this.recharge.editPriceStatus( {
+ id: idPost,
+ status: statusPost
+ }, data => {
+ if (data['return_code'] === '000000') {
+ this.message.success('提交成功');
+ this.getRequest(false, this.searchForm.value);
} else {
- this.message.error(dataUser['return_msg']);
+ this.message.error(data['return_msg']);
}
});
}
});
+ console.log(status);
+ console.log(statusPost);
+ console.log(message);
}
- public getForbiddenUserD(id): void {
+ public getForbiddenUserD(idPost): void {
this.common.showConfirm('是否删除', item => {
if (item) {
- this.recharge.deletePrice(id, data => {
+ this.recharge.editPriceStatus({
+ id: idPost,
+ status: 0
+ }, data => {
if (data['return_code'] === '000000') {
this.message.success('删除成功');
this.getRequest(false, this.searchForm.value);
@@ -228,7 +255,9 @@ export class PriceListComponent implements OnInit {
});
}
-
+ public changePayType(e): void {
+ this.payPrice = this.validateForm.value['rechargePrice'] * e / 100;
+ }
}
diff --git a/src/app/app-common.module.ts b/src/app/app-common.module.ts
index 43159ee..6cddee7 100644
--- a/src/app/app-common.module.ts
+++ b/src/app/app-common.module.ts
@@ -45,6 +45,8 @@ import {
} from './pipes';
import {OilCardStatusPipe} from "./pipes/oil-card/oil-card-status.pipe";
import { OilTypePipe } from './pipes/store/oil-type.pipe';
+import { RechargePlatformPipe } from './pipes/recharge-price/recharge-platform.pipe';
+import { PriceStatusPipe } from './pipes/recharge-price/price-status.pipe';
@@ -86,6 +88,9 @@ const PIPES = [
OilCardBindStatusPipe,
OilCardRecordTypePipe,
OilCardRecordSourceTypePipe,
+ OilTypePipe,
+ RechargePlatformPipe,
+ PriceStatusPipe,
];
@@ -99,8 +104,6 @@ const PIPES = [
],
declarations: [
...PIPES,
- OilTypePipe,
-
],
exports: [
diff --git a/src/app/pipes/index.ts b/src/app/pipes/index.ts
index 7481d5f..bd61671 100644
--- a/src/app/pipes/index.ts
+++ b/src/app/pipes/index.ts
@@ -32,3 +32,5 @@ export * from './oil-card/oil-card-status.pipe';
export * from './oil-card/oil-card-bind-status.pipe';
export * from './oil-card/oil-card-record-type.pipe';
export * from './oil-card/oil-card-record-source-type.pipe';
+export * from './recharge-price/recharge-platform.pipe';
+export * from './recharge-price/price-status.pipe';
diff --git a/src/app/services/recharge.service.ts b/src/app/services/recharge.service.ts
index 756f6ae..9e5c3ad 100644
--- a/src/app/services/recharge.service.ts
+++ b/src/app/services/recharge.service.ts
@@ -28,13 +28,13 @@ export class RechargeService {
/**
* @Author Sum1Dream
- * @methodName deletePrice
- * @Description //上下架
+ * @methodName editPriceStatus
+ * @Description // 修改价格状态
* @Date 15:03 2021/8/12
* @Param mod
**/
- public onAndOffShelves(id: number, callBack) {
- this.http.get(environment.baseUrl + 'outRechargePrice/onAndOffShelves?id=' + id).subscribe(data => {
+ public editPriceStatus(params: object, callBack) {
+ this.http.post(environment.baseUrl + 'outRechargePrice/editPriceStatus' , params ).subscribe(data => {
callBack(data);
});
}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 21ad46f..5a795b3 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -6,8 +6,8 @@ export const environment = {
production: false,
// baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
// imageUrl: 'http://localhost:9302/filesystem/',
- baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'https://hsgcs.dctpay.com/filesystem/',
+ baseUrl: 'https://hsg.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://hsg.dctpay.com/filesystem/',
key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',
};
From 893465522844d143fa0d2f8d697be3b75920dc8a Mon Sep 17 00:00:00 2001
From: Sum1Dream <418471657@qq.com>
Date: Mon, 30 May 2022 11:38:09 +0800
Subject: [PATCH 06/14] =?UTF-8?q?=E5=90=88=E5=B9=B6=E8=87=AA=E5=BB=BA?=
=?UTF-8?q?=E7=AB=99=E4=BB=A3=E7=A0=81=E5=88=B0=E8=AF=9D=E8=B4=B9=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../recharge-order/order-list/order-list.component.html | 4 ++--
src/app/pipes/recharge-status.pipe.ts | 4 ++--
src/environments/environment.ts | 8 ++++----
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/app/admin/recharge-order/order-list/order-list.component.html b/src/app/admin/recharge-order/order-list/order-list.component.html
index 6d700a0..56890d9 100644
--- a/src/app/admin/recharge-order/order-list/order-list.component.html
+++ b/src/app/admin/recharge-order/order-list/order-list.component.html
@@ -163,7 +163,7 @@
支付金额 |
生成时间 |
支付方式 |
- 充值状态 |
+ 充值状态 |
订单状态 |
操作 |
@@ -196,7 +196,7 @@
-
+
{{data['remarks']}}
{{data['rechargeModel'] | rechargePrice}}
diff --git a/src/app/pipes/recharge-status.pipe.ts b/src/app/pipes/recharge-status.pipe.ts
index e659165..9a832e2 100644
--- a/src/app/pipes/recharge-status.pipe.ts
+++ b/src/app/pipes/recharge-status.pipe.ts
@@ -14,9 +14,9 @@ export class RechargeStatusPipe implements PipeTransform {
case 3:
return '已完成';
case 4:
- return '已退款';
- case 5:
return '已取消';
+ case 5:
+ return '已退款';
case 6:
return '退款中';
}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 0f97376..5a795b3 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -4,10 +4,10 @@
export const environment = {
production: false,
- baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'http://localhost:9302/filesystem/',
-/* baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'https://hsgcs.dctpay.com/filesystem/',*/
+ // baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
+ // imageUrl: 'http://localhost:9302/filesystem/',
+ baseUrl: 'https://hsg.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
+ imageUrl: 'https://hsg.dctpay.com/filesystem/',
key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',
};
From e5807e0df208fc52104ede077972a0e243d91311 Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Mon, 30 May 2022 11:51:19 +0800
Subject: [PATCH 07/14] =?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-oil-price-routing.module.ts | 7 +-
.../gas-oil-price/gas-oil-price.module.ts | 14 +-
.../oil-price-task-edit.component.html | 1 +
.../oil-price-task-edit.component.scss | 0
.../oil-price-task-edit.component.spec.ts | 25 ++++
.../oil-price-task-edit.component.ts | 15 +++
.../oil-price-task-list.component.html | 99 ++++++++++++++
.../oil-price-task-list.component.scss | 0
.../oil-price-task-list.component.spec.ts | 25 ++++
.../oil-price-task-list.component.ts | 122 ++++++++++++++++++
.../admin/index/index/index.component.html | 16 +--
.../oil-price/oil-price-task.service.ts | 64 +++++++++
12 files changed, 372 insertions(+), 16 deletions(-)
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.spec.ts
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.scss
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.spec.ts
create mode 100644 src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.ts
create mode 100644 src/app/services/oil-price/oil-price-task.service.ts
diff --git a/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts b/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts
index 38a18b6..17ad1dc 100644
--- a/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts
+++ b/src/app/admin/gas-oil-price/gas-oil-price-routing.module.ts
@@ -1,10 +1,13 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import {OilPriceOfficialListComponent} from './oil-price-official-list/oil-price-official-list.component';
-
+import {OilPriceTaskListComponent} from './oil-price-task-list/oil-price-task-list.component';
+import {OilPriceTaskEditComponent} from './oil-price-task-edit/oil-price-task-edit.component';
const routes: Routes = [
- { path: 'official-list', component: OilPriceOfficialListComponent}
+ { path: 'official-list', component: OilPriceOfficialListComponent },
+ { path: 'task-list', component: OilPriceTaskListComponent },
+ { path: 'task-edit', component: OilPriceTaskEditComponent }
];
@NgModule({
diff --git a/src/app/admin/gas-oil-price/gas-oil-price.module.ts b/src/app/admin/gas-oil-price/gas-oil-price.module.ts
index 4422682..d9937f9 100644
--- a/src/app/admin/gas-oil-price/gas-oil-price.module.ts
+++ b/src/app/admin/gas-oil-price/gas-oil-price.module.ts
@@ -3,15 +3,17 @@ import { CommonModule } from '@angular/common';
import { GasOilPriceRoutingModule } from './gas-oil-price-routing.module';
import { OilPriceOfficialListComponent } from './oil-price-official-list/oil-price-official-list.component';
-import {NgZorroAntdModule} from "_ng-zorro-antd@9.3.0@ng-zorro-antd";
-import {FormsModule, ReactiveFormsModule} from "_@angular_forms@9.0.7@@angular/forms";
-import {BreadcrumbModule} from "../../common/breadcrumb/breadcrumb.module";
-import {AppCommonModule} from "../../app-common.module";
-import {NgxEchartsModule} from "_ngx-echarts@4.2.2@ngx-echarts";
+import {NgZorroAntdModule} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {FormsModule, ReactiveFormsModule} from '_@angular_forms@9.0.7@@angular/forms';
+import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module';
+import {AppCommonModule} from '../../app-common.module';
+import {NgxEchartsModule} from '_ngx-echarts@4.2.2@ngx-echarts';
+import { OilPriceTaskListComponent } from './oil-price-task-list/oil-price-task-list.component';
+import { OilPriceTaskEditComponent } from './oil-price-task-edit/oil-price-task-edit.component';
@NgModule({
- declarations: [OilPriceOfficialListComponent],
+ declarations: [OilPriceOfficialListComponent, OilPriceTaskListComponent, OilPriceTaskEditComponent],
imports: [
CommonModule,
GasOilPriceRoutingModule,
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html
new file mode 100644
index 0000000..debeda2
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html
@@ -0,0 +1 @@
+oil-price-task-edit works!
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.spec.ts b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.spec.ts
new file mode 100644
index 0000000..864af65
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { OilPriceTaskEditComponent } from './oil-price-task-edit.component';
+
+describe('OilPriceTaskEditComponent', () => {
+ let component: OilPriceTaskEditComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ OilPriceTaskEditComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(OilPriceTaskEditComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts
new file mode 100644
index 0000000..4b48296
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-oil-price-task-edit',
+ templateUrl: './oil-price-task-edit.component.html',
+ styleUrls: ['./oil-price-task-edit.component.scss']
+})
+export class OilPriceTaskEditComponent implements OnInit {
+
+ constructor() { }
+
+ ngOnInit(): void {
+ }
+
+}
diff --git a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
new file mode 100644
index 0000000..d73c73e
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
共计 {{dataObject.total?dataObject.total:0}} 条数据
+
+
+
+
+
+
+
+
+ 序号 |
+ 区域名称 |
+ 国标价 |
+ 油品号 |
+ 油品类型 |
+ 操作 |
+
+
+
+
+ {{i+1}} |
+ {{data.regionName}} |
+ {{data.priceOfficial}} |
+ {{data.oilNo}} |
+ {{data.oilTypeName}} |
+
+ 操作列表
+
+
+
+ |
+
+
+
+
+
+
diff --git a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.scss b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.spec.ts b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.spec.ts
new file mode 100644
index 0000000..d738e69
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { OilPriceTaskListComponent } from './oil-price-task-list.component';
+
+describe('OilPriceTaskListComponent', () => {
+ let component: OilPriceTaskListComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ OilPriceTaskListComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(OilPriceTaskListComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.ts b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.ts
new file mode 100644
index 0000000..d6a9f31
--- /dev/null
+++ b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.ts
@@ -0,0 +1,122 @@
+import { Component, OnInit } from '@angular/core';
+import {environment} from '../../../../environments/environment';
+import {FormBuilder, FormGroup} from '_@angular_forms@9.0.7@@angular/forms';
+import {NzMessageService, NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {LocalStorageService} from '../../../services/local-storage.service';
+import {OilPriceOfficialService} from '../../../services/oil-price/oil-price-official.service';
+import {CommonsService} from '../../../services/commons.service';
+import {Router} from '_@angular_router@9.0.7@@angular/router';
+import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace';
+import {OilPriceTaskService} from "../../../services/oil-price/oil-price-task.service";
+
+@Component({
+ selector: 'app-oil-price-task-list',
+ templateUrl: './oil-price-task-list.component.html',
+ styleUrls: ['./oil-price-task-list.component.scss']
+})
+export class OilPriceTaskListComponent implements OnInit {
+ FILE_URL = environment.imageUrl;
+ roleType;
+ adminFlag;
+ loadingObject = {
+ spinning: false,
+ msg: '加载中'
+ };
+
+ dataObject: any = {};
+ tableLoading = true;
+ searchForm: FormGroup;
+ pageNum: number;
+ whereObject: any = {};
+
+ oilNoArray = [];
+
+ constructor(private modal: NzModalService,
+ private message: NzMessageService,
+ private store: LocalStorageService,
+ private oilPriceTaskService: OilPriceTaskService,
+ private commonsService: CommonsService,
+ private router: Router,
+ private form: FormBuilder) {
+ this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType);
+ this.adminFlag = Number(this.store.get(ADMIN_INFO_OBJECT)['secUser'].adminFlag);
+ }
+
+ ngOnInit(): void {
+ this.searchForm = this.form.group({
+ regionName: [null],
+ oilNo: [null],
+ oilType: [null],
+ });
+
+ this.commonsService.getDictionary('GAS_OIL_TYPE', data => {
+ this.oilNoArray = data['return_data'];
+ });
+
+ this.requestData(1);
+ }
+
+ /**
+ * 请求数据
+ */
+ requestData(pageNum) {
+ this.tableLoading = true;
+ this.whereObject['pageNum'] = pageNum;
+ this.whereObject['pageSize'] = 10;
+ this.oilPriceTaskService.getTaskList(this.whereObject, data => {
+ if (data['return_code'] === '000000') {
+ this.dataObject = data['return_data'];
+ } else {
+ this.modal.error(data['return_msg']);
+ }
+ this.tableLoading = false;
+ });
+ }
+
+ /**
+ * 搜索
+ * @param whereObject 条件
+ */
+ search(whereObject: object) {
+ this.whereObject = whereObject;
+ this.requestData(1);
+ }
+
+ /**
+ * 重置
+ */
+ resetForm(): void {
+ this.searchForm.reset();
+ }
+
+
+ /**
+ * 弹出删除对话框
+ */
+ showDelConfirm(id: number): void {
+ this.modal.confirm({
+ nzTitle: '警告',
+ nzContent: '是否删除任务?任务一旦被删除,不会执行。',
+ nzOkText: '是',
+ nzCancelText: '否',
+ nzOkType: 'danger',
+ nzOnOk: () => this.delData(id)
+ });
+ }
+
+ /**
+ * 禁用数据
+ */
+ delData(id: number) {
+ this.oilPriceTaskService.delTask(id, data => {
+ if (data['return_code'] === '000000') {
+ this.requestData(this.whereObject['pageNum']);
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg']
+ });
+ }
+ });
+ }
+}
diff --git a/src/app/admin/index/index/index.component.html b/src/app/admin/index/index/index.component.html
index f37ae00..bb119fb 100644
--- a/src/app/admin/index/index/index.component.html
+++ b/src/app/admin/index/index/index.component.html
@@ -20,22 +20,22 @@
-
+
-
+
-
+
-
+
@@ -43,22 +43,22 @@
-
+
-
+
-
+
-
+
diff --git a/src/app/services/oil-price/oil-price-task.service.ts b/src/app/services/oil-price/oil-price-task.service.ts
new file mode 100644
index 0000000..b586061
--- /dev/null
+++ b/src/app/services/oil-price/oil-price-task.service.ts
@@ -0,0 +1,64 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from '_@angular_common@9.0.7@@angular/common/http';
+import {CommonsService} from '../commons.service';
+import {environment} from '../../../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class OilPriceTaskService {
+
+ constructor(
+ private http: HttpClient,
+ private common: CommonsService
+ ) { }
+
+
+ /**
+ * 批量增加任务
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public batchAddTask(paramsObject: object, callBack) {
+ this.http.post(environment.baseUrl + 'gasOilPriceTask/batchAddTask', paramsObject).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 删除任务
+ *
+ * @param id 任务id
+ * @param callBack 回调
+ */
+ public delTask(id: number, callBack) {
+ this.http.post(environment.baseUrl + 'gasOilPriceTask/delTask', { taskId: id }).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 批量增加任务
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public getTaskDetail(id: number, callBack) {
+ this.http.get(environment.baseUrl + 'gasOilPriceTask/getTaskDetail?taskId=' + id).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 批量增加任务
+ *
+ * @param paramsObject 对象
+ * @param callBack 回调
+ */
+ public getTaskList(param: object, callBack) {
+ this.http.get(environment.baseUrl + 'gasOilPriceTask/getTaskList?' + this.common.getWhereCondition(param)).subscribe(data => {
+ callBack(data);
+ });
+ }
+}
From 0df9afd428453892311d65d067024e6d882fb16c Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Mon, 30 May 2022 16:29:04 +0800
Subject: [PATCH 08/14] =?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-price-task-list.component.html | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
index d73c73e..afa1e0d 100644
--- a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
+++ b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
@@ -70,9 +70,15 @@
序号 |
区域名称 |
- 国标价 |
+ 油站名称 |
油品号 |
油品类型 |
+ 价格类型 |
+ 价格 |
+ 执行方式 |
+ 执行时间 |
+ 状态 |
+ 操作人 |
操作 |
From e0378f733c19ec237ccb5496501a391e06a2b534 Mon Sep 17 00:00:00 2001
From: hurui <177768073@qq.com>
Date: Tue, 31 May 2022 16:33:19 +0800
Subject: [PATCH 09/14] =?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-price-task-edit.component.html | 91 ++++++++++-
.../oil-price-task-edit.component.scss | 13 ++
.../oil-price-task-edit.component.ts | 147 +++++++++++++++++-
.../oil-price-task-list.component.html | 94 +++++++++--
.../oil-price-task-list.component.ts | 22 ++-
src/app/app-common.module.ts | 6 +
.../oil-price-task-execution-type.pipe.ts | 17 ++
.../oil-price-task-price-type.pipe.ts | 19 +++
.../oil-price-task-status.pipe.ts | 17 ++
src/app/services/commons.service.ts | 20 +++
src/environments/environment.ts | 8 +-
11 files changed, 431 insertions(+), 23 deletions(-)
create mode 100644 src/app/pipes/gas-oil-price/oil-price-task-execution-type.pipe.ts
create mode 100644 src/app/pipes/gas-oil-price/oil-price-task-price-type.pipe.ts
create mode 100644 src/app/pipes/gas-oil-price/oil-price-task-status.pipe.ts
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html
index debeda2..c00c3a7 100644
--- a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html
+++ b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.html
@@ -1 +1,90 @@
-oil-price-task-edit works!
+
+
+
+
+
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss
index e69de29..f28a63f 100644
--- a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss
+++ b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.scss
@@ -0,0 +1,13 @@
+.btn-div {
+ width: 100%;
+ text-align: center;
+}
+.btn-post {
+ width: 25%;
+}
+nz-input-number {
+ width: 100%;
+}
+nz-date-picker {
+ width: 100%;
+}
diff --git a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts
index 4b48296..752ca77 100644
--- a/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts
+++ b/src/app/admin/gas-oil-price/oil-price-task-edit/oil-price-task-edit.component.ts
@@ -1,4 +1,11 @@
import { Component, OnInit } from '@angular/core';
+import {FormBuilder, FormGroup, Validators} from '_@angular_forms@9.0.7@@angular/forms';
+import {NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
+import {ActivatedRoute, Router} from '_@angular_router@9.0.7@@angular/router';
+import {CommonsService} from '../../../services/commons.service';
+import {OilPriceTaskService} from '../../../services/oil-price/oil-price-task.service';
+import {LocalStorageService} from "../../../services/local-storage.service";
+import {ADMIN_INFO_OBJECT} from "../../../services/local-storage.namespace";
@Component({
selector: 'app-oil-price-task-edit',
@@ -6,10 +13,148 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./oil-price-task-edit.component.scss']
})
export class OilPriceTaskEditComponent implements OnInit {
+ dataFrom: FormGroup;
+ btnLoading = false;
- constructor() { }
+ oilNoArray = [];
+ priceTypeArray = [];
+ regionArray = [];
+ gasArray = [];
+
+ secUserObjectType: number;
+
+ constructor(private formBuilder: FormBuilder,
+ private modal: NzModalService,
+ private oilPriceTaskService: OilPriceTaskService,
+ private activatedRoute: ActivatedRoute,
+ private commonsService: CommonsService,
+ private localStorageService: LocalStorageService , // 请求缓存
+ private router: Router) {
+ this.secUserObjectType = Number(this.localStorageService.get(ADMIN_INFO_OBJECT)['secUser']['objectType']);
+ }
ngOnInit(): void {
+
+ this.dataFrom = this.formBuilder.group({
+ oilNo: ['92', [Validators.required]],
+ priceType: [null, [Validators.required]],
+ price: [0, [Validators.required]],
+ executionType: ['1', [Validators.required]],
+ startTime: [null],
+ regionId: [null],
+ merStoreIdArray: [[]],
+ });
+
+ // 管理员
+ if (this.secUserObjectType === 0) {
+ // 价格类型 1. 国标价 2. 油站价 3. 优惠幅度
+ this.priceTypeArray.push({ codeValue: 1, codeName: '国标价' });
+ this.priceTypeArray.push({ codeValue: 2, codeName: '油站价' });
+ this.priceTypeArray.push({ codeValue: 3, codeName: '优惠幅度'});
+
+ // 获取全部省级地区
+ this.commonsService.getProvinceList(data => {
+ this.regionArray = data['return_data'];
+ });
+
+ this.commonsService.getGasSelectList( data => {
+ this.gasArray = data['return_data'];
+ });
+
+ // 分公司
+ } else if (this.secUserObjectType === 1) {
+ // 价格类型 1. 国标价 2. 油站价 3. 优惠幅度
+ this.priceTypeArray.push({ codeValue: 1, codeName: '国标价' });
+ this.priceTypeArray.push({ codeValue: 2, codeName: '油站价' });
+ this.priceTypeArray.push({ codeValue: 3, codeName: '优惠幅度'});
+
+ this.regionArray.push({ regionId: this.localStorageService.get(ADMIN_INFO_OBJECT)['bsCompany']['regionId'],
+ regionName: this.localStorageService.get(ADMIN_INFO_OBJECT)['bsCompany']['regionName'] });
+
+ this.commonsService.getGasSelectList( data => {
+ this.gasArray = data['return_data'];
+ });
+
+ // 商户
+ } else if (this.secUserObjectType === 2) {
+ this.priceTypeArray.push({ codeValue: 2, codeName: '油站价' });
+ this.priceTypeArray.push({ codeValue: 3, codeName: '优惠幅度' });
+
+ this.commonsService.getGasSelectList( data => {
+ this.gasArray = data['return_data'];
+ });
+
+ // 加油站
+ } else if (this.secUserObjectType === 3) {
+ this.priceTypeArray.push({ codeValue: 2, codeName: '油站价' });
+ this.priceTypeArray.push({ codeValue: 3, codeName: '优惠幅度' });
+
+ this.dataFrom.patchValue({ merStoreIdArray: [ this.localStorageService.get(ADMIN_INFO_OBJECT)['merchantStore']['id'] ] });
+ }
+
+ this.commonsService.getDictionary('GAS_OIL_TYPE', data => {
+ this.oilNoArray = data['return_data'];
+ });
+
+ }
+
+ /**
+ * 提交
+ */
+ submitFrom() {
+ for (const i in this.dataFrom.controls) {
+ this.dataFrom.controls[i].markAsDirty();
+ this.dataFrom.controls[i].updateValueAndValidity();
+ }
+ if (this.dataFrom.status == null || this.dataFrom.status !== 'VALID') {
+ this.modal.warning({
+ nzTitle: '提示',
+ nzContent: '请规范填写所有的必填项信息',
+ });
+ return;
+ }
+
+ const dataFromValue = this.dataFrom.value;
+ const dataArray = [];
+
+ if (dataFromValue.priceType === '1') {
+ dataArray.push({
+ regionId: dataFromValue.regionId,
+ oilNo: dataFromValue.oilNo,
+ priceType: dataFromValue.priceType,
+ price: dataFromValue.price,
+ executionType: dataFromValue.executionType,
+ startTime: dataFromValue.startTime,
+ });
+ } else {
+ for (const storeId of this.dataFrom.value.merStoreIdArray) {
+ dataArray.push({
+ merStoreId: storeId,
+ oilNo: dataFromValue.oilNo,
+ priceType: dataFromValue.priceType,
+ price: dataFromValue.price,
+ executionType: dataFromValue.executionType,
+ startTime: dataFromValue.startTime,
+ });
+ }
+ }
+
+ this.btnLoading = true;
+ this.oilPriceTaskService.batchAddTask(dataArray, data => {
+ if (data['return_code'] === '000000') {
+ this.modal.success({
+ nzTitle: '提示',
+ nzContent: '添加成功',
+ nzOnOk: () => this.router.navigateByUrl('admin/gas-oil-price/task-list')
+ });
+ } else {
+ this.modal.error({
+ nzTitle: '提示',
+ nzContent: data['return_msg'],
+ });
+ }
+ this.btnLoading = false;
+ });
}
}
diff --git a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
index afa1e0d..75eff96 100644
--- a/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
+++ b/src/app/admin/gas-oil-price/oil-price-task-list/oil-price-task-list.component.html
@@ -8,7 +8,7 @@