提交修改自建站

pull/1/head
袁野 3 years ago
parent ce9300e22e
commit f371b7d694
  1. 57
      src/app/admin/index/index/index.component.html
  2. 8
      src/app/admin/index/index/index.component.ts
  3. 5
      src/app/admin/merchant-store/store-list/store-list.component.ts
  4. 314
      src/app/admin/navigation/navigation.component.ts
  5. 2
      src/app/admin/order/order-routing.module.ts
  6. 3
      src/app/admin/order/order.module.ts
  7. 4
      src/app/pipes/recharge-status.pipe.ts
  8. 18
      src/app/services/order.service.ts
  9. 8
      src/environments/environment.ts

@ -8,13 +8,23 @@
<!--条件搜索--> <!--条件搜索-->
<div class="inner-content" *ngIf="roleType == 3"> <div class="inner-content" *ngIf="roleType == 3">
<div nz-row style="margin-top: 20px;" [nzGutter]="16"> <div nz-row style="margin-top: 20px;" [nzGutter]="16" (click)="isVisibleOil = true">
<div nz-col nzSpan="8">
<nz-card nzHoverable [nzLoading]="loading">
<h3>预充值账号余额</h3>
<p>余额:{{balanceData['amounts']}}</p>
</nz-card>
</div>
<div nz-col nzSpan="8"> <div nz-col nzSpan="8">
<nz-card nzHoverable [nzLoading]="loading"> <nz-card nzHoverable [nzLoading]="loading">
<h3>预充值账号</h3> <h3>预充值账号今日收入</h3>
<p>余额:{{(balanceData['amounts']).toFixed(2)}}</p>
<p>今日收入:{{todayBalanceData['incomePrice'] == null ? '0': todayBalanceData['incomePrice']}}</p> <p>今日收入:{{todayBalanceData['incomePrice'] == null ? '0': todayBalanceData['incomePrice']}}</p>
<p>今日收款笔数:{{todayBalanceData['incomeCount'] == null ? '0': todayBalanceData['incomeCount']}}</p> <p>今日收款笔数:{{todayBalanceData['incomeCount'] == null ? '0': todayBalanceData['incomeCount']}}</p>
</nz-card>
</div>
<div nz-col nzSpan="8">
<nz-card nzHoverable [nzLoading]="loading">
<h3>预充值账号今日退款</h3>
<p>今日退款金额:{{todayBalanceData['refundPrice'] == null ? '0': todayBalanceData['refundPrice']}}</p> <p>今日退款金额:{{todayBalanceData['refundPrice'] == null ? '0': todayBalanceData['refundPrice']}}</p>
<p>今日退款笔数:{{todayBalanceData['incomeCount'] == null ? '0': todayBalanceData['incomeCount']}}</p> <p>今日退款笔数:{{todayBalanceData['incomeCount'] == null ? '0': todayBalanceData['incomeCount']}}</p>
</nz-card> </nz-card>
@ -153,20 +163,27 @@
</div> </div>
</nz-modal> </nz-modal>
<div nz-col nzSpan="8"> <nz-modal [(nzVisible)]="isVisibleOil" nzWidth="900" nzTitle="预充值账户记录" (nzOnCancel)="isVisibleOil = false" (nzOnOk)="isVisibleOil = false">
<nz-card nzHoverable [nzLoading]="loading" (click)="edit(10)"> <nz-table #RecordList [nzData]="recordList" style="margin-top: 20px;" [nzScroll]="{ x: '900px' }">
<h3>中石化订单</h3> <thead>
<p>订单数量:{{orderData['count']}}</p> <tr>
<p>订单总额:{{orderData['orderPrice'] == null ? '0': orderData['orderPrice']}}</p> <th nzWidth="80px">编号</th>
<p>支付总额:{{orderData['payRealPrice'] == null ? '0': orderData['payRealPrice']}}</p> <th nzWidth="100px">类型</th>
</nz-card> <th nzWidth="120px">金额</th>
</div> <th nzWidth="140px">变更前金额</th>
<th nzWidth="140px">变更后金额</th>
<div nz-col nzSpan="8"> <th nzWidth="180px">内容</th>
<nz-card nzHoverable [nzLoading]="loading" (click)="edit(11)"> </tr>
<h3>中石化订单</h3> </thead>
<p>订单数量:{{orderData['count']}}</p> <tbody>
<p>订单总额:{{orderData['orderPrice'] == null ? '0': orderData['orderPrice']}}</p> <tr *ngFor="let data of RecordList.data; let i = index">
<p>支付总额:{{orderData['payRealPrice'] == null ? '0': orderData['payRealPrice']}}</p> <td>{{i+1}}</td>
</nz-card> <td>{{data.type == 1 ? '进账': '出账'}}</td>
</div> <td>{{data.amount}}</td>
<td>{{data.beforeAmount}}</td>
<td>{{data.afterAmount}}</td>
<td>{{data.sourceContent}}</td>
</tr>
</tbody>
</nz-table>
</nz-modal>

@ -4,7 +4,7 @@ import {LocalStorageService} from '../../../services/local-storage.service';
import {IndexService} from '../../../services/index.service'; import {IndexService} from '../../../services/index.service';
import {NzMessageService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd'; import {NzMessageService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd';
import {environment} from '../../../../environments/environment'; import {environment} from '../../../../environments/environment';
import {Router} from "_@angular_router@9.0.7@@angular/router"; import {Router} from '_@angular_router@9.0.7@@angular/router';
@Component({ @Component({
@ -18,6 +18,7 @@ export class IndexComponent implements OnInit {
loading = true; loading = true;
isVisible = false; isVisible = false;
isVisibleAdd = false; isVisibleAdd = false;
isVisibleOil = false;
balance: number; balance: number;
price: number; price: number;
code = 60; code = 60;
@ -28,6 +29,7 @@ export class IndexComponent implements OnInit {
balanceData = {}; balanceData = {};
rechargeData = {}; rechargeData = {};
todayBalanceData = {}; todayBalanceData = {};
recordList = [];
tyBalance; tyBalance;
webSocket: WebSocket; webSocket: WebSocket;
@ -243,7 +245,6 @@ export class IndexComponent implements OnInit {
public getAccount(): void { public getAccount(): void {
this.index.getAccount(data => { this.index.getAccount(data => {
if (data['return_code'] === '000000') { if (data['return_code'] === '000000') {
console.log(data);
this.balanceData = data['return_data']; this.balanceData = data['return_data'];
this.loading = false; this.loading = false;
} else { } else {
@ -273,7 +274,8 @@ export class IndexComponent implements OnInit {
}; };
this.index.getAccountRecordList(paramsObject, data => { this.index.getAccountRecordList(paramsObject, data => {
if (data['return_code'] === '000000') { if (data['return_code'] === '000000') {
console.log(data); this.recordList = data['return_data'].list;
console.log(this.recordList);
} else { } else {
this.message.error(data['return_msg']); this.message.error(data['return_msg']);
} }

@ -22,6 +22,7 @@ export class StoreListComponent implements OnInit {
pageSize = 10; // 条码 pageSize = 10; // 条码
loading = true; loading = true;
id = null; id = null;
storeId = null;
name: string; name: string;
price: string; price: string;
WEB_SERVE_URL = environment.baseUrl; WEB_SERVE_URL = environment.baseUrl;
@ -179,7 +180,7 @@ export class StoreListComponent implements OnInit {
// 增加余额 // 增加余额
public getRecharge(id): void { public getRecharge(id): void {
this.id = id; this.storeId = id;
this.isVisibleAdd = true; this.isVisibleAdd = true;
} }
@ -190,7 +191,7 @@ export class StoreListComponent implements OnInit {
return; return;
} }
const paramsObject = { const paramsObject = {
storeId: this.id, storeId: this.storeId,
amount: this.price amount: this.price
}; };
this.index.recharge(paramsObject, data => { this.index.recharge(paramsObject, data => {

@ -1,6 +1,14 @@
import { Component, OnInit } from '@angular/core'; import {Component, OnInit} from '@angular/core';
import {LocalStorageService} from '../../services/local-storage.service'; 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 {LoginService} from '../../services/login.service';
import {NzMessageService, NzModalService} from 'ng-zorro-antd'; import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {Router} from '@angular/router'; import {Router} from '@angular/router';
@ -12,164 +20,172 @@ import {Md5} from 'ts-md5';
import {environment} from '../../../environments/environment'; import {environment} from '../../../environments/environment';
import {HttpClient} from '@angular/common/http'; import {HttpClient} from '@angular/common/http';
import {CompanyTwoPwdService} from '../../services/company-two-pwd.service'; import {CompanyTwoPwdService} from '../../services/company-two-pwd.service';
import {WebsocketService} from '../../services/websocket.service';
@Component({ @Component({
selector: 'app-navigation', selector: 'app-navigation',
templateUrl: './navigation.component.html', templateUrl: './navigation.component.html',
styleUrls: ['./navigation.component.less'] styleUrls: ['./navigation.component.less'],
}) })
export class NavigationComponent implements OnInit { export class NavigationComponent implements OnInit {
visibleUpdatePwd = false; // 修改密码抽屉 visibleUpdatePwd = false; // 修改密码抽屉
validateForm: FormGroup; // 定义表单 validateForm: FormGroup; // 定义表单
passwordVisible = false; passwordVisible = false;
isCollapsed = false; isCollapsed = false;
userInfo: any; userInfo: any;
menuList: any; menuList: any;
routeName: string; routeName: string;
switchValue = false; switchValue = false;
constructor(
private storage: LocalStorageService, constructor(
private loginService: LoginService, private storage: LocalStorageService,
private message: NzMessageService, private loginService: LoginService,
private commonsService: CommonsService, private message: NzMessageService,
private companyTwoPwdService: CompanyTwoPwdService, private commonsService: CommonsService,
private http: HttpClient, // http请求 private companyTwoPwdService: CompanyTwoPwdService,
private iconService: IconService, private http: HttpClient, // http请求
private modal: NzModalService, private iconService: IconService,
private fb: FormBuilder, // 表单 private webSocketService: WebsocketService,
private router: Router, private store: LocalStorageService, // 数据请求
) { } private modal: NzModalService,
private fb: FormBuilder, // 表单
ngOnInit(): void { private router: Router,
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();
} }
if (this.validateForm.status == null || this.validateForm.status !== 'VALID') {
this.modal.info({ ngOnInit(): void {
nzTitle: '提示', this.validateForm = this.fb.group({
nzContent: '请正确填写必填信息', oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]],
}); newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]],
return; 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']; // 定义菜单数据
// 连接websocket
// this.webSocketService.connect(`wss://hsgcs.dctpay.com/msg/WebSocket/` + this.store.get(ADMIN_INFO_OBJECT)['merchantStore'].id);
} }
const timeNum = new Date().getTime();
const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum; public activeLi(routeName): void {
// 定义请求数据 this.routeName = routeName;
const params = { this.storage.set(ROUTENAME, routeName);
userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id, }
oldPassword: value.oldPassword,
newPassword: value.newPassword, // 菜单姓名
nonceStr: timeNum, public getRouteName(menuName, childMenuName): void {
sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(), this.storage.set(MENUNAME, menuName);
}; this.storage.set(CHILDMENUNAME, childMenuName);
this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => { }
if (data['return_code'] === '000000') {
this.modal.success({ // 登出
nzTitle: '提示', public loginOut(): void {
nzContent: '密码修改成功', this.loginService.loginOut(data => {
nzOkText: '重新登录', if (data.return_code === '000000') {
nzOkType: 'primary', this.storage.set(ADMIN_INFO_OBJECT, null);
nzOnOk: () => this.loginOut() 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'], public getBack(): void {
nzOkText: '取消', history.back();
nzOkType: 'primary', }
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 {};
}
} }

@ -13,6 +13,7 @@ import {PreOrderComponent} from './pre-order/pre-order.component';
import {PackageRecordListComponent} from './package-record-list/package-record-list.component'; import {PackageRecordListComponent} from './package-record-list/package-record-list.component';
import {DiscountUseConditionListComponent} from './discount-use-condition-list/discount-use-condition-list.component'; import {DiscountUseConditionListComponent} from './discount-use-condition-list/discount-use-condition-list.component';
import {DicountPackageOrderListComponent} from './dicount-package-order-list/dicount-package-order-list.component'; import {DicountPackageOrderListComponent} from './dicount-package-order-list/dicount-package-order-list.component';
import {OilStationOrderComponent} from './oil-station-order/oil-station-order.component';
const routes: Routes = [ const routes: Routes = [
@ -29,6 +30,7 @@ const routes: Routes = [
{ path: 'package-record-list', component: PackageRecordListComponent }, { path: 'package-record-list', component: PackageRecordListComponent },
{ path: 'discount-use-condition-list', component: DiscountUseConditionListComponent }, { path: 'discount-use-condition-list', component: DiscountUseConditionListComponent },
{ path: 'discount-package-order-list', component: DicountPackageOrderListComponent}, { path: 'discount-package-order-list', component: DicountPackageOrderListComponent},
{ path: 'oil_station_order', component: OilStationOrderComponent},
]; ];
@NgModule({ @NgModule({

@ -22,9 +22,10 @@ import { PackageRecordListComponent } from './package-record-list/package-record
import { DiscountUseConditionListComponent } from './discount-use-condition-list/discount-use-condition-list.component'; import { DiscountUseConditionListComponent } from './discount-use-condition-list/discount-use-condition-list.component';
import {DicountPackageOrderListComponent} from "./dicount-package-order-list/dicount-package-order-list.component"; import {DicountPackageOrderListComponent} from "./dicount-package-order-list/dicount-package-order-list.component";
import {NzSpaceModule} from "_ng-zorro-antd@9.3.0@ng-zorro-antd/space"; import {NzSpaceModule} from "_ng-zorro-antd@9.3.0@ng-zorro-antd/space";
import { OilStationOrderComponent } from './oil-station-order/oil-station-order.component';
@NgModule({ @NgModule({
declarations: [OrderListComponent, OrderDetailComponent, OrderCouponsComponent, OrderCouponComponent , OrderTListComponent, OrderKListComponent , OrderCListComponent, OrderHListComponent, OrderAgentComponent, PreOrderComponent, PackageRecordListComponent, DiscountUseConditionListComponent, DicountPackageOrderListComponent], declarations: [OrderListComponent, OrderDetailComponent, OrderCouponsComponent, OrderCouponComponent , OrderTListComponent, OrderKListComponent , OrderCListComponent, OrderHListComponent, OrderAgentComponent, PreOrderComponent, PackageRecordListComponent, DiscountUseConditionListComponent, DicountPackageOrderListComponent, OilStationOrderComponent],
imports: [ imports: [
CommonModule, CommonModule,
OrderRoutingModule, OrderRoutingModule,

@ -14,9 +14,9 @@ export class RechargeStatusPipe implements PipeTransform {
case 3: case 3:
return '已完成'; return '已完成';
case 4: case 4:
return '已取消';
case 5:
return '已退款'; return '已退款';
case 5:
return '已取消';
case 6: case 6:
return '退款中'; return '退款中';
} }

@ -26,6 +26,18 @@ export class OrderService {
}); });
} }
/**
*
*
* @param paramsObject
* @param callBack
*/
public getGasOrderListByOil(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'highGas/getGasOrderList?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
/** /**
* @Author Sum1Dream * @Author Sum1Dream
* @methodName getDiscountPackageList * @methodName getDiscountPackageList
@ -233,4 +245,10 @@ export class OrderService {
}); });
} }
public getGasOrderDetail(orderNo: string , callBack) {
this.http.get(environment.baseUrl + 'highGas/getGasOrderDetail?orderNo=' + orderNo).subscribe( data => {
callBack(data);
});
}
} }

@ -4,10 +4,10 @@
export const environment = { export const environment = {
production: false, production: false,
baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址) // baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
imageUrl: 'http://localhost:9302/filesystem/', // imageUrl: 'http://localhost:9302/filesystem/',
// baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址) baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
// imageUrl: 'https://hsgcs.dctpay.com/filesystem/', imageUrl: 'https://hsgcs.dctpay.com/filesystem/',
key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=', key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=', inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',
}; };

Loading…
Cancel
Save