Merge branch '2.0-dev'

# Conflicts:
#	src/environments/environment.ts
dev
袁野 1 year ago
commit 9ad62c2b1a
  1. 25
      src/app/admin/audit/audit-coupon/audit-coupon.component.html
  2. 66
      src/app/admin/coupon/blx-coupon/blx-coupon.component.html
  3. 6
      src/app/admin/coupon/blx-coupon/blx-coupon.component.scss
  4. 61
      src/app/admin/coupon/blx-coupon/blx-coupon.component.ts
  5. 1
      src/app/admin/coupon/coupon-edit/coupon-edit.component.html
  6. 2
      src/app/admin/coupon/coupon-routing.module.ts
  7. 4
      src/app/admin/coupon/coupon.module.ts
  8. 2
      src/app/admin/discount-package/discount-package-list/discount-package-list.component.ts
  9. 40
      src/app/admin/index/index/index.component.html
  10. 25
      src/app/admin/index/index/index.component.ts
  11. 29
      src/app/admin/login/login/login.component.html
  12. 14
      src/app/admin/order-manage/mobile-recharge-order-list/mobile-recharge-order-list.component.html
  13. 6
      src/app/admin/order-manage/mobile-recharge-order-list/mobile-recharge-order-list.component.ts
  14. 56
      src/app/admin/user/user-list/user-list.component.html
  15. 72
      src/app/admin/user/user-list/user-list.component.ts
  16. 4
      src/app/admin/user/user.module.ts
  17. 5
      src/app/app-common.module.ts
  18. 1
      src/app/app.module.ts
  19. 37
      src/app/pipes/coupon-status.pipe.ts
  20. 4
      src/app/pipes/index/product-config.pipe.ts
  21. 11
      src/app/services/coupon.service.ts
  22. 6
      src/app/services/index.service.ts
  23. 2
      src/app/services/login.service.ts
  24. 27
      src/app/services/order.service.ts
  25. 9
      src/environments/environment.ts

@ -15,18 +15,19 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-col nzSpan="6">
<nz-form-item> <!-- <div nz-col nzSpan="6">-->
<nz-form-label [nzSpan]="6">审核类型</nz-form-label> <!-- <nz-form-item>-->
<nz-form-control [nzSpan]="16"> <!-- <nz-form-label [nzSpan]="6">审核类型</nz-form-label>-->
<nz-select formControlName="objectType"> <!-- <nz-form-control [nzSpan]="16">-->
<nz-option nzValue="1" nzLabel="Jack"></nz-option> <!-- <nz-select formControlName="objectType">-->
<nz-option nzValue="2" nzLabel="Lucy"></nz-option> <!-- <nz-option nzValue="1" nzLabel="Jack"></nz-option>-->
<nz-option nzValue="disabled" nzLabel="Disabled" nzDisabled></nz-option> <!-- <nz-option nzValue="2" nzLabel="Lucy"></nz-option>-->
</nz-select> <!-- <nz-option nzValue="disabled" nzLabel="Disabled" nzDisabled></nz-option>-->
</nz-form-control> <!-- </nz-select>-->
</nz-form-item> <!-- </nz-form-control>-->
</div> <!-- </nz-form-item>-->
<!-- </div>-->
<div nz-col nzSpan="6"> <div nz-col nzSpan="6">
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="6">审核流水号</nz-form-label> <nz-form-label [nzSpan]="6">审核流水号</nz-form-label>

@ -0,0 +1,66 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<div class="inner-content">
<span>共计 {{total}} 条数据</span>
<!-- <div class="operating-button">
<button nz-button nzType="primary" class="right-btn" [routerLink]="['/admin/coupon/coupon-edit']" ><i nz-icon nzType="plus" nzTheme="outline"></i>添加</button>
<button nz-button nzType="primary" class="right-btn" (click)="getGuizhouSinopec()" ><i nz-icon nzType="redo" nzTheme="outline"></i>刷新中石化卡券</button>
</div> -->
<nz-table
class="table"
#ajaxTable
nzShowSizeChanger
[nzFrontPagination]="false"
[nzData]="requestData"
[nzLoading]="loading"
[nzTotal]="total"
[(nzPageIndex)]="pageNum"
[(nzPageSize)]="pageSize"
(nzPageIndexChange)="getRequest(false , searchForm.value)"
(nzPageSizeChange)="getRequest(false , searchForm.value)">
<thead nzSingleSort>
<tr>
<th nzWidth="80px">编号</th>
<th >优惠券编码</th>
<th >优惠券名称</th>
<th >面额</th>
<!-- <th nzWidth="100px">使用条件</th>
<th nzWidth="100px">有效类型</th>
<th nzWidth="100px">使用开始时间</th>
<th nzWidth="100px">使用结束时间</th>
<th nzWidth="100px">有效天数</th> -->
<th >优惠券状态</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of ajaxTable.data; let i = index">
<td>{{i+1}}</td>
<td>{{data.couponCode}}</td>
<td>{{data.couponName}}</td>
<td>{{data.denomination}}</td>
<!-- <td>{{data.minPrice}}</td>
<td>{{data.receiveType | receiveType}}</td>
<td>{{(data.useStartTime | date: 'yyyy-MM-dd HH:mm') || '暂无数据'}}</td>
<td>{{(data.useEndTime | date: 'yyyy-MM-dd HH:mm') || '暂无数据'}}</td>
<td>{{data.receiveDays}}</td> -->
<td >{{data.couponStatus | blxCouponStatus}}</td>
<!-- <td >
<span *ngIf="data.status === 2" style="color: limegreen">{{data.status | couponStatus}}</span>
<span *ngIf="data.status === 3" style="color: red">{{data.status | couponStatus}}</span>
<span *ngIf="data.status === 1 || data.status === 102 || data.status === 101">{{data.status | couponStatus}}</span>
</td> -->
</tr>
</tbody>
</nz-table>
</div>

@ -0,0 +1,6 @@
img {
width: 60px;
}
.fontColor {
color: red;
}

@ -0,0 +1,61 @@
import { Component, OnInit } from '@angular/core';
import { CouponService } from '../../../services/coupon.service';
import {CommonsService} from '../../../services/commons.service';
import { FormBuilder, FormGroup } from '@angular/forms';
import {NzMessageService} from 'ng-zorro-antd';
@Component({
selector: 'app-blx-coupon',
templateUrl: './blx-coupon.component.html',
styleUrls: ['./blx-coupon.component.scss']
})
export class BlxCouponComponent implements OnInit {
searchForm: FormGroup; // 搜索框
requestData = []; // 列表数据
total: number = 0; // 总计条数
pageNum = 1; // 页码
pageSize = 10; // 条码
loading = false;
constructor(
private form: FormBuilder,
private coupon: CouponService,
private message: NzMessageService,
) { }
ngOnInit() {
this.searchForm = this.form.group({
// merchantId: [null],
// couponName: [null],
// couponType: [null],
// goodsTypeId: [null],
// brandId: [null],
// displayArea: [null],
// status: [null],
});
this.getRequest(true,this.searchForm.value)
}
// 查询列表
public getRequest(reset: boolean = false, whereObject: object) {
this.loading = true;
if (reset) {
this.pageNum = 1;
}
whereObject['pageNum'] = this.pageNum;
whereObject['pageSize'] = this.pageSize;
this.coupon.getBlxCouponList(whereObject, data => {
this.loading = false;
if (data['return_code'] === '000000') {
this.requestData = data['return_data'].list;
this.total = data['return_data'].total;
} else {
this.message.error(data['return_msg']);
}
});
}
}

@ -59,6 +59,7 @@
<nz-option nzValue="3" nzLabel="银联专区"></nz-option> <nz-option nzValue="3" nzLabel="银联专区"></nz-option>
<nz-option nzValue="4" nzLabel="优选商品"></nz-option> <nz-option nzValue="4" nzLabel="优选商品"></nz-option>
<nz-option nzValue="5" nzLabel="工会卡专区"></nz-option> <nz-option nzValue="5" nzLabel="工会卡专区"></nz-option>
<nz-option nzValue="7" nzLabel="停车券专区"></nz-option>
</nz-select> </nz-select>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>

@ -4,6 +4,7 @@ import {CouponListComponent} from './coupon-list/coupon-list.component';
import {CouponEditComponent} from './coupon-edit/coupon-edit.component'; import {CouponEditComponent} from './coupon-edit/coupon-edit.component';
import {CouponDetailComponent} from './coupon-detail/coupon-detail.component'; import {CouponDetailComponent} from './coupon-detail/coupon-detail.component';
import {SalesCodeListComponent} from './sales-code-list/sales-code-list.component'; import {SalesCodeListComponent} from './sales-code-list/sales-code-list.component';
import { BlxCouponComponent } from './blx-coupon/blx-coupon.component';
const routes: Routes = [ const routes: Routes = [
@ -11,6 +12,7 @@ const routes: Routes = [
{ path: 'coupon-edit', component: CouponEditComponent }, { path: 'coupon-edit', component: CouponEditComponent },
{ path: 'coupon-detail', component: CouponDetailComponent }, { path: 'coupon-detail', component: CouponDetailComponent },
{ path: 'salesCode-list', component: SalesCodeListComponent }, { path: 'salesCode-list', component: SalesCodeListComponent },
{path:'blx-coupon',component:BlxCouponComponent}
]; ];
@NgModule({ @NgModule({

@ -12,9 +12,11 @@ import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module';
import {RichtextModule} from '../../common/richtext/richtext.module'; import {RichtextModule} from '../../common/richtext/richtext.module';
import {AppCommonModule} from '../../app-common.module'; import {AppCommonModule} from '../../app-common.module';
import { SalesCodeListComponent } from './sales-code-list/sales-code-list.component'; import { SalesCodeListComponent } from './sales-code-list/sales-code-list.component';
import { BlxCouponComponent } from './blx-coupon/blx-coupon.component';
@NgModule({ @NgModule({
declarations: [CouponListComponent, CouponEditComponent, CouponDetailComponent, SalesCodeListComponent], declarations: [CouponListComponent, CouponEditComponent, CouponDetailComponent, SalesCodeListComponent,
BlxCouponComponent],
imports: [ imports: [
CommonModule, CommonModule,
CouponRoutingModule, CouponRoutingModule,

@ -233,7 +233,7 @@ export class DiscountPackageListComponent implements OnInit {
nzTitle: '提示', nzTitle: '提示',
nzContent: '当前卷包有赠送任务进行中,是否查看赠送进度?', nzContent: '当前卷包有赠送任务进行中,是否查看赠送进度?',
nzOnOk: () => this.processRate(data['return_data']['serialNumber']) nzOnOk: () => this.processRate(data['return_data']['serialNumber'])
}) });
} else { } else {
this.deliverUserForm.patchValue({packageId: packageId, packageName: packageName}); this.deliverUserForm.patchValue({packageId: packageId, packageName: packageName});
this.deliverUserModal = true; this.deliverUserModal = true;

@ -105,29 +105,29 @@
<div nz-row style="margin-top: 20px;" [nzGutter]="16"> <div nz-row style="margin-top: 20px;" [nzGutter]="16">
<div nz-col nzSpan="8"> <div nz-col nzSpan="8">
<nz-card nzHoverable [nzLoading]="loading" (click)="isVisible = true"> <nz-card nzHoverable [nzLoading]="loading" >
<h3>汇联通预充值账号</h3> <h3>汇联通工会卡充值</h3>
<p>余额:{{(balance - balanceData['payRealPrice']).toFixed(2)}}</p> <p>余额:{{(balance - balanceData['sum']).toFixed(2)}}</p>
<p>订单数量:{{balanceData['count']}}</p> <p>订单数量:{{balanceData['count']}}</p>
<p>支付总额:{{balanceData['payRealPrice'] == null ? '0': balanceData['payRealPrice']}}</p> <p>支付总额:{{balanceData['sum'] == null ? '0': balanceData['sum']}}</p>
</nz-card>
</div>
<div nz-col nzSpan="8">
<nz-card nzHoverable [nzLoading]="loading" [routerLink]="['/admin/order/order-list']">
<h3>中石化订单</h3>
<p>订单数量:{{orderData['count']}}</p>
<p>订单总额:{{orderData['orderPrice'] == null ? '0': orderData['orderPrice']}}</p>
<p>支付总额:{{orderData['payRealPrice'] == null ? '0': orderData['payRealPrice']}}</p>
</nz-card>
</div>
<div nz-col nzSpan="8">
<nz-card nzHoverable [nzLoading]="loading" [routerLink]="['/admin/order/order-h-list']">
<h3>话费订单</h3>
<p>订单数量:{{rechargeData['count']}}</p>
<p>订单总额:{{rechargeData['orderPrice'] == null ? '0': rechargeData['orderPrice']}}</p>
<p>支付总额:{{rechargeData['payRealPrice'] == null ? '0': rechargeData['payRealPrice']}}</p>
</nz-card> </nz-card>
</div> </div>
<!-- <div nz-col nzSpan="8">-->
<!-- <nz-card nzHoverable [nzLoading]="loading" [routerLink]="['/admin/order/order-list']">-->
<!-- <h3>中石化订单</h3>-->
<!-- <p>订单数量:{{orderData['count']}}</p>-->
<!-- <p>订单总额:{{orderData['orderPrice'] == null ? '0': orderData['orderPrice']}}</p>-->
<!-- <p>支付总额:{{orderData['payRealPrice'] == null ? '0': orderData['payRealPrice']}}</p>-->
<!-- </nz-card>-->
<!-- </div>-->
<!-- <div nz-col nzSpan="8">-->
<!-- <nz-card nzHoverable [nzLoading]="loading" [routerLink]="['/admin/order/order-h-list']">-->
<!-- <h3>话费订单</h3>-->
<!-- <p>订单数量:{{rechargeData['count']}}</p>-->
<!-- <p>订单总额:{{rechargeData['orderPrice'] == null ? '0': rechargeData['orderPrice']}}</p>-->
<!-- <p>支付总额:{{rechargeData['payRealPrice'] == null ? '0': rechargeData['payRealPrice']}}</p>-->
<!-- </nz-card>-->
<!-- </div>-->
</div> </div>
</div> </div>
<!--运营角色--> <!--运营角色-->

@ -78,10 +78,10 @@ export class IndexComponent implements OnInit {
if (this.store.get(ADMIN_INFO_OBJECT)['bsCompany'] != null && this.store.get(ADMIN_INFO_OBJECT)['bsCompany'].id === 3) { if (this.store.get(ADMIN_INFO_OBJECT)['bsCompany'] != null && this.store.get(ADMIN_INFO_OBJECT)['bsCompany'].id === 3) {
this.code = 60; this.code = 60;
this.getHLTBalance(); this.getHLTBalance();
this.orderByIndex(); // this.orderByIndex();
this.HLTOrderByIndex(); this.HLTOrderByIndex();
this.rechargeOrderByIndex(); this.rechargeOrderByIndex();
this.HLTOrderByList(); // this.HLTOrderByList();
} }
if (this.store.get(ADMIN_INFO_OBJECT)['merchantStore'] != null) { if (this.store.get(ADMIN_INFO_OBJECT)['merchantStore'] != null) {
@ -135,7 +135,8 @@ export class IndexComponent implements OnInit {
} }
public HLTOrderByIndex(): void { public HLTOrderByIndex(): void {
this.index.HLTOrderByIndex(this.code, data => { this.index.hltCardNoTopUpStatistic( data => {
console.log(data);
if (data['return_code'] === '000000') { if (data['return_code'] === '000000') {
this.balanceData = data['return_data']; this.balanceData = data['return_data'];
this.loading = false; this.loading = false;
@ -156,15 +157,15 @@ export class IndexComponent implements OnInit {
}); });
} }
public HLTOrderByList(): void { // public HLTOrderByList(): void {
this.index.HLTOrderByList(this.code, data => { // this.index.HLTOrderByList(this.code, data => {
if (data['return_code'] === '000000') { // if (data['return_code'] === '000000') {
this.listOfData = data['return_data']; // this.listOfData = data['return_data'];
} else { // } else {
this.message.error(data['return_msg']); // this.message.error(data['return_msg']);
} // }
}); // });
} // }
public getIndexCount(): void { public getIndexCount(): void {
this.index.getIndexCount(data => { this.index.getIndexCount(data => {

@ -9,30 +9,6 @@
<div class="body-content-right-title">嗨森逛后台登录</div> <div class="body-content-right-title">嗨森逛后台登录</div>
<form nz-form [nzLayout]="'vertical'" class="login-form" [formGroup]="loginForm" (ngSubmit)="submitLogin()"> <form nz-form [nzLayout]="'vertical'" class="login-form" [formGroup]="loginForm" (ngSubmit)="submitLogin()">
<!-- <div class="form-item">
<div class="form-item-label"><h3>用户名</h3></div>
<div class="form-item-control">
<input type="text" formControlName="loginName" placeholder="请输入您的用户名">
</div>
</div>
<div class="form-item">
<div class="form-item-label"><h3>&nbsp;&nbsp;&nbsp;</h3></div>
<div class="form-item-control">
<input type="password" formControlName="password" placeholder="请输入您的密码">
</div>
</div>
<div class="form-item">
<div class="form-item-label"><h3>&nbsp;&nbsp;</h3></div>
<div class="form-item-control" nz-row [nzGutter]="16">
<input nz-col nzSpan="14" type="text" formControlName="vertifyCode" placeholder="请输入验证码">
<app-verification-code nz-col nzSpan="10" (validate)="validateFun($event)" ></app-verification-code>
</div>
</div> -->
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired nzFor="loginName" class="form-item-label"><h3>用户名</h3></nz-form-label> <nz-form-label nzRequired nzFor="loginName" class="form-item-label"><h3>用户名</h3></nz-form-label>
<nz-form-control nzErrorTip="请输入您的用户名!" class="form-item-control"> <nz-form-control nzErrorTip="请输入您的用户名!" class="form-item-control">
@ -60,11 +36,6 @@
</nz-form-item> </nz-form-item>
<!--<div class="forget-pwd">
<a routerLink="/retrieveAdminPwd">忘记密码</a>
</div>-->
<div class="from-btn"> <div class="from-btn">
<button >登录</button> <button >登录</button>
</div> </div>

@ -16,16 +16,14 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-col nzSpan="8"> <div nz-col nzSpan="8">
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="8">标题</nz-form-label> <nz-form-label [nzSpan]="8">下单手机号</nz-form-label>
<nz-form-control [nzSpan]="14"> <nz-form-control [nzSpan]="14">
<input nz-input formControlName="title" /> <input nz-input formControlName="memPhone" />
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-col nzSpan="8"> <div nz-col nzSpan="8">
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="8">标题</nz-form-label> <nz-form-label [nzSpan]="8">标题</nz-form-label>
@ -34,10 +32,6 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
</div>
<div nz-row *ngIf="isCollapse">
<div nz-col nzSpan="8"> <div nz-col nzSpan="8">
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="8">异常订单</nz-form-label> <nz-form-label [nzSpan]="8">异常订单</nz-form-label>
@ -49,6 +43,10 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
</div>
<div nz-row *ngIf="isCollapse">
<div nz-col nzSpan="8"> <div nz-col nzSpan="8">
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="8">交易状态</nz-form-label> <nz-form-label [nzSpan]="8">交易状态</nz-form-label>

@ -7,6 +7,7 @@ import {CommonsService} from '../../../services/commons.service';
import {OrderMobileRechargeService} from '../../../services/order/order-mobile-recharge.service'; import {OrderMobileRechargeService} from '../../../services/order/order-mobile-recharge.service';
import {FormBuilder, FormGroup} from '@angular/forms'; import {FormBuilder, FormGroup} from '@angular/forms';
import {NzMessageService, NzNotificationService} from 'ng-zorro-antd'; import {NzMessageService, NzNotificationService} from 'ng-zorro-antd';
import {animate, state, style, transition, trigger} from '@angular/animations'; import {animate, state, style, transition, trigger} from '@angular/animations';
@Component({ @Component({
@ -174,10 +175,7 @@ export class MobileRechargeOrderListComponent implements OnInit {
this.isVisible = true; this.isVisible = true;
this.orderMobileRechargeService.exportMobilePartyOrderList(whereObject, data => { this.orderMobileRechargeService.exportMobilePartyOrderList(whereObject, data => {
if (data['return_code'] === '000000') { if (data['return_code'] !== '000000') {
// this.message.success('导出成功!');
// window.location.href = this.FILE_URL + 'temporary/' + data['return_data'];
} else {
this.isVisible = false; this.isVisible = false;
this.message.error(data['return_msg']); this.message.error(data['return_msg']);
} }

@ -33,6 +33,17 @@
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div> </div>
<div nz-col nzSpan="6">
<nz-form-item>
<nz-form-label [nzSpan]="6">是否推广员</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-select nzShowSearch nzAllowClear formControlName="isAgent" nzPlaceHolder="请选择">
<nz-option nzLabel="是" [nzValue]="true"></nz-option>
<nz-option nzLabel="否" [nzValue]="false"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="6"> <div nz-col nzSpan="6">
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="6">注册时间</nz-form-label> <nz-form-label [nzSpan]="6">注册时间</nz-form-label>
@ -59,6 +70,7 @@
class="table" class="table"
#ajaxTable #ajaxTable
nzShowSizeChanger nzShowSizeChanger
nzBordered
[nzFrontPagination]="false" [nzFrontPagination]="false"
[nzData]="requestData" [nzData]="requestData"
[nzLoading]="loading" [nzLoading]="loading"
@ -94,11 +106,53 @@
<td nzRight="0px" class="table-td-operation"> <td nzRight="0px" class="table-td-operation">
<a (click)='getForbiddenUser(data.id , data.status)'>{{data.status === 1 ? '禁用': '启用'}}</a> <a (click)='getForbiddenUser(data.id , data.status)'>{{data.status === 1 ? '禁用': '启用'}}</a>
<nz-divider nzType="vertical"></nz-divider> <nz-divider nzType="vertical"></nz-divider>
<a (click)='setUpAgent(data.id , data.isAgent)'>{{data.isAgent === true ? '禁用推广员': '启用推广员'}}</a>
<nz-divider nzType="vertical" ></nz-divider>
<a nz-dropdown [nzDropdownMenu]="menu">更多操作</a>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>
<li class="li-a" nz-menu-item> <a (click)='setUpAgent(data.id , data.isAgent)'>{{data.isAgent === true ? '禁用推广员': '启用推广员'}}</a></li>
<li class="li-a" *ngIf="data.isAgent === true" nz-menu-item><a (click)="getList(data.id)">查询推广订单</a></li>
</ul>
</nz-dropdown-menu>
</td> </td>
</tbody> </tbody>
</nz-table> </nz-table>
</div> </div>
<nz-modal [(nzVisible)]="orderListModal" nzTitle="订单列表" (nzOnCancel)="orderListModal = false" [nzFooter]="null"
nzWidth="1100px" [nzBodyStyle]=" { padding: '20px 20px 30px 20px'}">
<div class="operating-button" style="z-index: 999999">
<button nz-button nzType="primary" class="right-btn" (click)="excelOrder()" ><i nz-icon nzType="export" nzTheme="outline"></i>导出Excel</button>
</div>
<nz-spin [nzSpinning]="orderListModalLoading" style="margin-top: 50px;">
<nz-table #basicTable [nzData]="requestOrderData" nzBordered [nzHideOnSinglePage]="true">
<thead>
<tr>
<th>交易单号</th>
<th>客户电话</th>
<th>订单名称</th>
<th>订单金额</th>
<th>支付金额</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data">
<td>{{data.orderNo}}</td>
<td>{{data.memPhone}}</td>
<td>{{data.title}}</td>
<td>¥{{data.totalPrice}}</td>
<td>¥{{data.payPrice}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
</tr>
</tbody>
</nz-table>
</nz-spin>
</nz-modal>
<nz-modal [(nzVisible)]="isVisible" nzTitle="文件版本({{this.searchForm.value['serialNumber']}})正在导出" (nzOnCancel)="isVisible = false" [nzFooter]="null">
<nz-progress [nzPercent]="percent" ></nz-progress>
</nz-modal>

@ -5,6 +5,7 @@ import {NzMessageService} from 'ng-zorro-antd';
import {IconService} from '../../../services/icon.service'; import {IconService} from '../../../services/icon.service';
import {CommonsService} from '../../../services/commons.service'; import {CommonsService} from '../../../services/commons.service';
import {environment} from '../../../../environments/environment'; import {environment} from '../../../../environments/environment';
import {OrderService} from '../../../services/order.service';
@Component({ @Component({
selector: 'app-user-list', selector: 'app-user-list',
@ -20,11 +21,26 @@ export class UserListComponent implements OnInit {
pageSize = 10; // 条码 pageSize = 10; // 条码
loading = true; loading = true;
regTime; regTime;
orderListModal = false;
isVisible = false;
orderListModalLoading = false;
requestOrderData = [];
percent = 0;
processRateInterval;
FILE_URL = environment.imageUrl;
userId;
loadingObject = {
title: '加载中...',
status: false,
};
serialNumber;
constructor( constructor(
private form: FormBuilder, private form: FormBuilder,
private user: UserService, private user: UserService,
private iconService: IconService, private iconService: IconService,
private orderService: OrderService,
private message: NzMessageService, private message: NzMessageService,
private common: CommonsService private common: CommonsService
) { ) {
@ -38,6 +54,7 @@ export class UserListComponent implements OnInit {
this.searchForm = this.form.group({ this.searchForm = this.form.group({
name: [null], name: [null],
status: [null], status: [null],
isAgent: [null],
phone: [null], phone: [null],
regTime: [null], regTime: [null],
}); });
@ -104,4 +121,59 @@ export class UserListComponent implements OnInit {
}); });
} }
public getList(userId: string): void {
this.orderListModalLoading = true;
this.orderListModal = true;
this.userId = userId;
this.orderService.getPopularizeUserOrderList(userId , data => {
this.orderListModalLoading = false;
if (data['return_code'] === '000000') {
this.requestOrderData = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
});
}
public excelOrder() {
const whereObject = {};
this.percent = 0;
this.serialNumber = new Date().getTime();
whereObject['serialNumber'] = this.serialNumber;
whereObject['promoteCode'] = this.userId;
this.isVisible = true;
this.processRate(this.serialNumber);
this.orderService.exportPopularizeUserOrderList(whereObject, data => {
if (data['return_code'] !== '000000') {
this.isVisible = false;
this.message.error(data['return_msg']);
}
this.loadingObject.status = false;
});
}
// 获取导出百分比
processRate(key: string) {
this.processRateInterval = setInterval(() => this.common.getRedisValueByType(key, data => {
this.percent = data['return_data'];
if (this.percent === 100) {
clearTimeout(this.processRateInterval);
this.loadingObject.status = true;
this.loadingObject.title = '下载中...';
const interval = setInterval(() => this.common.getRedisValueByType(key + 'download', download => {
if (download['return_data'] != null) {
this.message.success('下载成功!');
this.loadingObject.status = false;
window.location.href = this.FILE_URL + 'temporary/' + download['return_data'];
this.isVisible = false;
clearTimeout(interval);
}
}), 100);
}
}), 300);
}
} }

@ -8,6 +8,7 @@ import {SeparateModule} from '../../common/separate/separate.module';
import {FormsModule, ReactiveFormsModule} from '@angular/forms'; import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module'; import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module';
import { UserGoldComponent } from './user-gold/user-gold.component'; import { UserGoldComponent } from './user-gold/user-gold.component';
import {AppCommonModule} from "../../app-common.module";
@NgModule({ @NgModule({
@ -19,7 +20,8 @@ import { UserGoldComponent } from './user-gold/user-gold.component';
SeparateModule, SeparateModule,
ReactiveFormsModule, ReactiveFormsModule,
FormsModule, FormsModule,
BreadcrumbModule BreadcrumbModule,
AppCommonModule
] ]
}) })
export class UserModule { } export class UserModule { }

@ -73,6 +73,9 @@ import {
PayCouponStatusPipe, PayCouponStatusPipe,
OrderOilChannelTypePipe, OrderOilChannelTypePipe,
VerifyProductTypePipe, VerifyProductTypePipe,
BlxCouponStatusPipe,
ReceiveTypePipe,
} from './pipes'; } from './pipes';
import {MsgTypePipe} from './pipes/msg/msg-type.pipe'; import {MsgTypePipe} from './pipes/msg/msg-type.pipe';
import { OrderProductTypePipe } from './pipes/order/order-product-type.pipe'; import { OrderProductTypePipe } from './pipes/order/order-product-type.pipe';
@ -149,6 +152,8 @@ const PIPES = [
MsgTypePipe, MsgTypePipe,
OrderOilChannelTypePipe, OrderOilChannelTypePipe,
VerifyProductTypePipe, VerifyProductTypePipe,
BlxCouponStatusPipe,
ReceiveTypePipe,
LogisticsStatusPipe, LogisticsStatusPipe,
OrderProductTypePipe, OrderProductTypePipe,
GoodsStatusPipe GoodsStatusPipe

@ -17,6 +17,7 @@ import {NavigationModule} from './admin/navigation/navigation.module';
import {AppCommonModule} from './app-common.module'; import {AppCommonModule} from './app-common.module';
import {NgxEchartsModule} from 'ngx-echarts'; import {NgxEchartsModule} from 'ngx-echarts';
import {HashLocationStrategy, LocationStrategy} from '@angular/common'; import {HashLocationStrategy, LocationStrategy} from '@angular/common';
import {RouterModule} from '@angular/router';
registerLocaleData(zh); registerLocaleData(zh);

@ -22,3 +22,40 @@ export class CouponStatusPipe implements PipeTransform {
} }
} }
} }
@Pipe({
name: 'blxCouponStatus'
})
export class BlxCouponStatusPipe implements PipeTransform {
transform(value: number): string {
switch (value) {
case 0:
return '待审核';
case 1:
return '审核通过';
case 2:
return '强制结束';
}
}
}
@Pipe({
name: 'receiveType'
})
export class ReceiveTypePipe implements PipeTransform {
transform(value: number): string {
switch (value) {
case 1:
return '天数';
case 2:
return '时间段';
case null:
return '暂无数据';
}
}
}

@ -13,8 +13,10 @@ export class ProductConfigPipe implements PipeTransform {
return '肯德基接口'; return '肯德基接口';
case 'MEMBER_RECHARGE_CONFIG': case 'MEMBER_RECHARGE_CONFIG':
return '会员充值接口'; return '会员充值接口';
case 'PHONE_CONFIG': case 'CALLS_CONFIG':
return '话费接口'; return '话费接口';
case 'REFUEL_ONLINE_CONFIG':
return '在线加油接口';
case 'STARBUCKS_CONFIG': case 'STARBUCKS_CONFIG':
return '星巴克接口'; return '星巴克接口';
} }

@ -168,6 +168,17 @@ export class CouponService {
}); });
} }
/*
*/
public getBlxCouponList(params: object, callBack) {
this.http.get(environment.baseUrl + 'apiCoupon/getBlxCouponList?'+ this.common.getWhereCondition(params)).subscribe(data => {
callBack(data);
});
}
/** /**
* *

@ -243,4 +243,10 @@ export class IndexService {
}); });
} }
public hltCardNoTopUpStatistic(callBack) {
this.http.get(environment.orderUrl + 'orderStatistic/hltCardNoTopUpStatistic').subscribe(data => {
callBack(data);
});
}
} }

@ -22,6 +22,8 @@ export class LoginService {
public userLogin(params: object, callBack) { public userLogin(params: object, callBack) {
this.http.post(environment.baseUrl + 'login/userLogin', params).subscribe(data => { this.http.post(environment.baseUrl + 'login/userLogin', params).subscribe(data => {
callBack(data); callBack(data);
}, error => {
console.log(error);
}); });
} }

@ -301,6 +301,33 @@ export class OrderService {
}); });
} }
/**
* @Author Sum1Dream
* @methodName getPopularizeUserOrderList
* @Description // 查询推广订单
* @Date 14:23 2023/7/12
* @Param promoteCode 广
*/
public getPopularizeUserOrderList(promoteCode: string , callBack) {
this.http.get(environment.orderUrl + 'getPopularizeUserOrderList?promoteCode=' + promoteCode ).subscribe( data => {
callBack(data);
});
}
/**
* @Author Sum1Dream
* @methodName exportMobilePartyOrderList
* @Description // 导出话费订单表格
* @Date 10:07 2022/11/1
* @Param param: object, callBack
*/
public exportPopularizeUserOrderList(param: object, callBack) {
this.http.get(environment.orderUrl + 'exportPopularizeUserOrderList?' + this.common.getWhereCondition(param)).subscribe(data => {
callBack(data);
});
}
public getGasOrderDetail(orderNo: string , callBack) { public getGasOrderDetail(orderNo: string , callBack) {
this.http.get(environment.baseUrl + 'highGas/getGasOrderDetail?orderNo=' + orderNo).subscribe( data => { this.http.get(environment.baseUrl + 'highGas/getGasOrderDetail?orderNo=' + orderNo).subscribe( data => {
callBack(data); callBack(data);

@ -4,11 +4,12 @@
export const environment = { export const environment = {
production: false, production: false,
// baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址) baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
// orderUrl: 'http://localhost:9304/order/', // 测试环境服务器地址(请求数据地址) orderUrl: 'http://localhost:9304/order/', // 测试环境服务器地址(请求数据地址)
// baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址) // baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
baseUrl: 'https://hsg.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址) // baseUrl: 'https://hsg.dctpay.com/brest/', // 正式环境服务器地址(请求数据地址)
orderUrl: 'https://hsgcs.dctpay.com/order/', // 测试环境服务器地址(请求数据地址) // orderUrl: 'https://hsg.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
// orderUrl: 'https://hsgcs.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
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