pull/1/head
袁野 3 years ago
parent 641b2e0bf9
commit 62e2a5e617
  1. 2
      src/app/admin/agent/agent-list/agent-list.component.html
  2. 3
      src/app/admin/agent/agent-list/agent-list.component.ts
  3. 186
      src/app/admin/order/order-agent/order-agent.component.html
  4. 4
      src/app/admin/order/order-agent/order-agent.component.scss
  5. 190
      src/app/admin/order/order-agent/order-agent.component.ts
  6. 2
      src/app/admin/order/order-routing.module.ts
  7. 3
      src/app/admin/order/order.module.ts
  8. 18
      src/app/services/order.service.ts

@ -86,7 +86,7 @@
<th nzWidth="50px">编号</th> <th nzWidth="50px">编号</th>
<th nzWidth="80px">代理商名称</th> <th nzWidth="80px">代理商名称</th>
<th nzWidth="80px">代理商地址</th> <th nzWidth="80px">代理商地址</th>
<th nzWidth="80px">邀请链接</th> <th nzWidth="80px">标识链接</th>
<th nzWidth="80px">联系人</th> <th nzWidth="80px">联系人</th>
<th nzWidth="70px">联系方式</th> <th nzWidth="70px">联系方式</th>
<th nzWidth="100px">创建时间</th> <th nzWidth="100px">创建时间</th>

@ -18,7 +18,6 @@ import {CouponService} from '../../../services/coupon.service';
export class AgentListComponent implements OnInit { export class AgentListComponent implements OnInit {
WEB_SERVE_URL = environment.imageUrl; WEB_SERVE_URL = environment.imageUrl;
FILE_URL = environment.baseUrl;
inviteUrl = environment.inviteUrl; inviteUrl = environment.inviteUrl;
searchForm: FormGroup; // 搜索框 searchForm: FormGroup; // 搜索框
validateForm: FormGroup; // 搜索框 validateForm: FormGroup; // 搜索框
@ -312,7 +311,7 @@ export class AgentListComponent implements OnInit {
public generateAgentQrCode(id: number): void { public generateAgentQrCode(id: number): void {
this.agent.generateRechargeAgentQrCode(id, data => { this.agent.generateRechargeAgentQrCode(id, data => {
if (data['return_code'] === '000000') { if (data['return_code'] === '000000') {
window.location.href = this.FILE_URL + data['return_data']; window.location.href = this.WEB_SERVE_URL + data['return_data'];
} else { } else {
this.message.error(data['return_msg']); this.message.error(data['return_msg']);
} }

@ -0,0 +1,186 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<!--条件搜索-->
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="getRequest(true , searchForm.value)">
<div nz-row>
<!-- <div nz-col nzSpan="8">-->
<!-- <nz-form-item>-->
<!-- <nz-form-label [nzSpan]="6">区域名称</nz-form-label>-->
<!-- <nz-form-control [nzSpan]="16">-->
<!-- <nz-select nzShowSearch nzAllowClear [formControlName]="'companyId'" (ngModelChange)="getMerchantListByCompany($event)">-->
<!-- <nz-option *ngFor="let item of companyData" nzValue="{{item.id}}" nzLabel="{{item.name}}"></nz-option>-->
<!-- </nz-select>-->
<!-- </nz-form-control>-->
<!-- </nz-form-item>-->
<!-- </div>-->
<!-- <div nz-col nzSpan="8">-->
<!-- <nz-form-item>-->
<!-- <nz-form-label [nzSpan]="6">商户名称</nz-form-label>-->
<!-- <nz-form-control [nzSpan]="16">-->
<!-- <nz-select nzShowSearch nzAllowClear [formControlName]="'merchantId'">-->
<!-- <nz-option *ngFor="let item of merchantData" nzValue="{{item.id}}" nzLabel="{{item.merchantName}}"></nz-option>-->
<!-- </nz-select>-->
<!-- </nz-form-control>-->
<!-- </nz-form-item>-->
<!-- </div>-->
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6">订单号</nz-form-label>
<nz-form-control [nzSpan]="16">
<input nz-input formControlName="orderNo"/>
</nz-form-control>
</nz-form-item>
</div>
<!-- <div nz-col nzSpan="8">-->
<!-- <nz-form-item>-->
<!-- <nz-form-label [nzSpan]="6">商品名称</nz-form-label>-->
<!-- <nz-form-control [nzSpan]="16">-->
<!-- <input nz-input formControlName="memDiscountName"/>-->
<!-- </nz-form-control>-->
<!-- </nz-form-item>-->
<!-- </div>-->
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6">用户电话</nz-form-label>
<nz-form-control [nzSpan]="16">
<input nz-input formControlName="memPhone"/>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6">支付模式</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-select nzShowSearch nzAllowClear formControlName="payModel" nzPlaceHolder="请选择支付模式">
<nz-option nzLabel="金币支付" nzValue="1"></nz-option>
<nz-option nzLabel="第三方支付" nzValue="2"></nz-option>
<nz-option nzLabel="混合支付" nzValue="3"></nz-option>
<nz-option nzLabel="工会卡支付" nzValue="4"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6">支付方式</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-select nzShowSearch nzAllowClear formControlName="payType" nzPlaceHolder="请选择支付模式">
<nz-option nzLabel="支付宝" nzValue="1"></nz-option>
<nz-option nzLabel="微信" nzValue="2"></nz-option>
<nz-option nzLabel="金币" nzValue="3"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6">状态</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-select nzShowSearch nzAllowClear nzPlaceHolder="请选择订单状态" formControlName="orderStatus">
<nz-option nzLabel="待支付" nzValue="1"></nz-option>
<nz-option nzLabel="已支付" nzValue="2"></nz-option>
<nz-option nzLabel="已完成" nzValue="3"></nz-option>
<nz-option nzLabel="已退款" nzValue="4"></nz-option>
<nz-option nzLabel="已取消" nzValue="5"></nz-option>
<nz-option nzLabel="退款中" nzValue="6"></nz-option>
<nz-option nzLabel="退款失败" nzValue="7"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6">时间区间</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-range-picker [nzShowTime]="{ nzFormat: 'HH:mm' }" formControlName="payTime"></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row>
<div nz-col nzSpan="24" class="search-button">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
<button nz-button nzType="default" (click)="resetForm()"><i nz-icon nzType="reload" nzTheme="outline"></i>重置</button>
</div>
</div>
</form>
</div>
<div class="inner-content">
<span>共计 {{total}} 条数据</span>
<div class="operating-button">
<button nz-button nzType="primary" class="right-btn" (click)="downloadTemplate(searchForm.value)" ><i nz-icon nzType="download" nzTheme="outline"></i>导出订单</button>
</div>
<nz-table
class="table"
#ajaxTable
nzShowSizeChanger
[nzFrontPagination]="false"
[nzData]="requestData"
[nzLoading]="loading"
[nzTotal]="total"
[(nzPageIndex)]="pageNum"
[(nzPageSize)]="pageSize"
[nzScroll]="{ x: '1200px' }"
(nzPageIndexChange)="getRequest(false , searchForm.value)"
(nzPageSizeChange)="getRequest(false , searchForm.value)">
<thead nzSingleSort>
<tr>
<th nzWidth="50px">编号</th>
<th nzWidth="180px">商品名称</th>
<th nzWidth="180px">订单来源</th>
<th nzWidth="180px">订单类型</th>
<th nzWidth="180px">订单号</th>
<th nzWidth="180px">支付流水号</th>
<th nzWidth="120px">客户名称</th>
<th nzWidth="130px">客户电话</th>
<th nzWidth="110px">支付模式</th>
<th nzWidth="100px">支付方式</th>
<th nzWidth="100px">支付金额</th>
<th nzWidth="140px">生成时间</th>
<th nzWidth="140px">支付时间</th>
<th nzWidth="140px">取消时间</th>
<th nzRight nzWidth="100px">状态</th>
<!-- <th nzWidth="80px" nzRight>操作</th>-->
</tr>
</thead>
<tbody>
<tr *ngFor="let data of ajaxTable.data; let i = index">
<td>{{i+1}}</td>
<td>{{data.goodsName}}</td>
<td>{{data.giveawayType}}</td>
<td>{{data.goodsType}}</td>
<td>{{data.orderNo}}</td>
<td>{{data.paySerialNo}}</td>
<td>{{data.memName == null ? '暂无': data.memName}}</td>
<td>{{data.memPhone == null ? '暂无': data.memPhone}}</td>
<td>{{data.payModel}}</td>
<td>{{data.payType}}</td>
<td>{{data.payPrice}}</td>
<td>{{data.createTime | date: 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.payTime | date: 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.cancelTime | date: 'yyyy-MM-dd HH:mm:ss'}}</td>
<td nzRight>{{data.orderStatus}}</td>
<!-- <td nzRight class="table-td-operation">-->
<!--&lt;!&ndash; <a *ngIf="data.status !== 101" (click)="getDetail(data.id)">订单详情</a>&ndash;&gt;-->
<!--&lt;!&ndash; <a *ngIf="data.orderStatusId == 2 && data.goodsTypeId == 3" (click)="showModal(data.id)">退款</a>&ndash;&gt;-->
<!-- </td>-->
</tbody>
</nz-table>
</div>
<nz-modal [(nzVisible)]="isVisible" nzTitle="退款理由" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()">
<nz-form-item>
<nz-form-label>退款理由</nz-form-label>
<nz-form-control>
<textarea [(ngModel)]="refundContent" nz-input rows="2" placeholder="请输入退款理由"></textarea>
</nz-form-control>
</nz-form-item>
</nz-modal>

@ -0,0 +1,4 @@
.head_img {
height: 60px;
width: 60px;
}

@ -0,0 +1,190 @@
import { Component, OnInit } from '@angular/core';
import {environment} from "../../../../environments/environment";
import {FormBuilder, FormGroup} from "_@angular_forms@9.0.7@@angular/forms";
import {OrderService} from "../../../services/order.service";
import {IconService} from "../../../services/icon.service";
import {NzMessageService} from "_ng-zorro-antd@9.3.0@ng-zorro-antd";
import {Router} from "_@angular_router@9.0.7@@angular/router";
import {CompanyService} from "../../../services/company.service";
import {MerchantService} from "../../../services/merchant.service";
import {CommonsService} from "../../../services/commons.service";
import {ADMIN_INFO_OBJECT, DATA} from "../../../services/local-storage.namespace";
import {LocalStorageService} from "../../../services/local-storage.service";
@Component({
selector: 'app-order-agent',
templateUrl: './order-agent.component.html',
styleUrls: ['./order-agent.component.scss']
})
export class OrderAgentComponent implements OnInit {
WEB_SERVE_URL = environment.baseUrl;
FILE_URL = environment.imageUrl;
searchForm: FormGroup; // 搜索框
requestData = []; // 列表数据
companyData = []; // 列表数据
merchantData = []; // 列表数据
total: number; // 页码
pageNum = 1; // 页码
pageSize = 10; // 条码
loading = true;
id: number; // 订单ID
isVisible = false;
refundContent: string;
constructor(
private form: FormBuilder,
private order: OrderService,
private iconService: IconService,
private message: NzMessageService,
private router: Router,
private store: LocalStorageService, // 数据请求
private company: CompanyService,
private merchant: MerchantService,
private common: CommonsService
) {
}
ngOnInit(): void {
console.log(this.store.get(ADMIN_INFO_OBJECT)['highAgent']['id']);
this.init();
const whereObject = {};
whereObject['pageNum'] = 1;
whereObject['pageSize'] = 10000;
this.company.selectCompanyList(whereObject, data => {
if (data['return_code'] === '000000') {
this.companyData = data['return_data'].list;
} else {
this.message.error(data['return_msg']);
}
});
this.getMerchantListByCompany(this.searchForm.value.companyId);
}
public init(): void {
this.searchForm = this.form.group({
companyId: [null],
merchantId: [null],
orderNo: [null],
paySerialNo: [null],
payModel: [null],
payType: [null],
memDiscountName: [null],
memPhone: [null],
orderStatus: [null],
payTime: [null],
identificationCode: this.store.get(ADMIN_INFO_OBJECT)['highAgent']['id']
});
this.getRequest(true, this.searchForm.value);
}
// 查询列表
public getRequest(reset: boolean = false, whereObject: object) {
if (whereObject['payTime'] != null && whereObject['payTime'].length !== 0) {
whereObject['payTimeS'] = whereObject['payTime'][0].getTime();
whereObject['payTimeE'] = whereObject['payTime'][1].getTime();
}
this.loading = false;
if (reset) {
this.pageNum = 1;
}
whereObject['pageNum'] = this.pageNum;
whereObject['pageSize'] = this.pageSize;
whereObject['identificationCode'] = this.store.get(ADMIN_INFO_OBJECT)['highAgent']['id'];
this.order.getOrderListByIdCode(whereObject, data => {
if (data['return_code'] === '000000') {
this.requestData = data['return_data'].list;
this.total = data['return_data'].total;
} else {
this.message.error(data['return_msg']);
}
});
}
// 查询商户
public getMerchantListByCompany(companyId: number): void {
this.merchant.getMerchantListByCompany(companyId, data => {
if (data['return_code'] === '000000') {
if (data['return_code'] === '000000') {
this.merchantData = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
} else {
this.message.error(data['return_msg']);
}
});
}
// 重置
public resetForm(): void {
this.searchForm.reset();
}
// 查看详情
public getDetail(id: number): void {
this.router.navigate(['/admin/order/order-detail'], {
queryParams: {
merchantId: id
}
}).then(r => console.log(r));
}
// 下载模板
downloadTemplate(whereObject) {
if (whereObject['payTime'] != null && whereObject['payTime'].length !== 0) {
whereObject['payTimeS'] = whereObject['payTime'][0].getTime();
whereObject['payTimeE'] = whereObject['payTime'][1].getTime();
}
whereObject['identificationCode'] = this.store.get(ADMIN_INFO_OBJECT)['highAgent']['id'];
this.order.exportOrderListByIdCode(whereObject, data => {
if (data['return_code'] === '000000') {
window.location.href = this.FILE_URL + data['return_data'];
} else {
this.message.error(data['return_msg']);
}
});
}
provinceChange(e) {
console.log(e);
}
// 退款
public orderToRefund(id): void {
}
showModal(id): void {
this.id = id;
this.isVisible = true;
}
handleOk(): void {
this.common.showConfirm('确认订单是否退款', item => {
if (item) {
const params = {
orderId: this.id ,
refundContent: this.refundContent
};
this.order.refuelingOrderRefund(params, data => {
if (data['return_code'] === '000000') {
this.getRequest(false, this.searchForm.value);
this.isVisible = false;
this.message.success('退款成功');
} else {
this.message.error(data['return_msg']);
}
});
}
});
}
handleCancel(): void {
this.isVisible = false;
}
}

@ -8,6 +8,7 @@ import {OrderTListComponent} from './order-Tlist/order-Tlist.component';
import {OrderCListComponent} from './order-c-list/order-c-list.component'; import {OrderCListComponent} from './order-c-list/order-c-list.component';
import {OrderKListComponent} from './order-k-list/order-k-list.component'; import {OrderKListComponent} from './order-k-list/order-k-list.component';
import {OrderHListComponent} from './order-h-list/order-h-list.component'; import {OrderHListComponent} from './order-h-list/order-h-list.component';
import {OrderAgentComponent} from "./order-agent/order-agent.component";
const routes: Routes = [ const routes: Routes = [
@ -19,6 +20,7 @@ const routes: Routes = [
{ path: 'order-c-list', component: OrderCListComponent }, { path: 'order-c-list', component: OrderCListComponent },
{ path: 'order-k-list', component: OrderKListComponent }, { path: 'order-k-list', component: OrderKListComponent },
{ path: 'order-h-list', component: OrderHListComponent }, { path: 'order-h-list', component: OrderHListComponent },
{ path: 'order-agent', component: OrderAgentComponent },
]; ];
@NgModule({ @NgModule({

@ -16,10 +16,11 @@ import {OrderTListComponent} from './order-Tlist/order-Tlist.component';
import { OrderKListComponent } from './order-k-list/order-k-list.component'; import { OrderKListComponent } from './order-k-list/order-k-list.component';
import {OrderCListComponent} from './order-c-list/order-c-list.component'; import {OrderCListComponent} from './order-c-list/order-c-list.component';
import { OrderHListComponent } from './order-h-list/order-h-list.component'; import { OrderHListComponent } from './order-h-list/order-h-list.component';
import { OrderAgentComponent } from './order-agent/order-agent.component';
@NgModule({ @NgModule({
declarations: [OrderListComponent, OrderDetailComponent, OrderCouponsComponent, OrderCouponComponent , OrderTListComponent, OrderKListComponent , OrderCListComponent, OrderHListComponent], declarations: [OrderListComponent, OrderDetailComponent, OrderCouponsComponent, OrderCouponComponent , OrderTListComponent, OrderKListComponent , OrderCListComponent, OrderHListComponent, OrderAgentComponent],
imports: [ imports: [
CommonModule, CommonModule,
OrderRoutingModule, OrderRoutingModule,

@ -25,6 +25,18 @@ export class OrderService {
}); });
} }
/**
*
*
* @param paramsObject
* @param callBack
*/
public getOrderListByIdCode(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'highOrder/getOrderListByIdCode?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
/** /**
* *
* *
@ -80,6 +92,12 @@ export class OrderService {
}); });
} }
public exportOrderListByIdCode(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'highOrder/exportOrderListByIdCode?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
/** /**
* 退 * 退
* *

Loading…
Cancel
Save