pull/1/head
袁野 3 years ago
commit ac53b431b1
  1. 31
      angular.json
  2. 177
      src/app/admin/order/order-c-list/order-c-list.component.html
  3. 4
      src/app/admin/order/order-c-list/order-c-list.component.scss
  4. 187
      src/app/admin/order/order-c-list/order-c-list.component.ts
  5. 177
      src/app/admin/order/order-k-list/order-k-list.component.html
  6. 4
      src/app/admin/order/order-k-list/order-k-list.component.scss
  7. 186
      src/app/admin/order/order-k-list/order-k-list.component.ts
  8. 4
      src/app/admin/order/order-routing.module.ts
  9. 4
      src/app/admin/order/order.module.ts
  10. 62
      src/app/admin/recharge-order/price-list/price-list.component.html
  11. 27
      src/app/admin/recharge-order/price-list/price-list.component.ts
  12. 7
      src/app/app-common.module.ts
  13. 23
      src/app/pipes/channel-mark.pipe.ts
  14. 1
      src/app/pipes/index.ts
  15. 24
      src/app/services/order.service.ts
  16. 10
      src/app/services/recharge.service.ts
  17. 19
      src/environments/environment.cz.ts

@ -97,6 +97,34 @@
"maximumError": "10kb" "maximumError": "10kb"
} }
] ]
},
"cz": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.cz.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "4mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
]
} }
} }
}, },
@ -108,9 +136,6 @@
"configurations": { "configurations": {
"production": { "production": {
"browserTarget": "high-web:build:production" "browserTarget": "high-web:build:production"
},
"test": {
"browserTarget": "high-web:build:production"
} }
} }
}, },

@ -0,0 +1,177 @@
<!-- 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="paySerialNo"/>
</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-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.orderId)">申请退款</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,187 @@
import { Component, OnInit } from '@angular/core';
import {environment} from '../../../../environments/environment';
import {OrderService} from '../../../services/order.service';
import {IconService} from '../../../services/icon.service';
import {CompanyService} from '../../../services/company.service';
import {MerchantService} from '../../../services/merchant.service';
import {CommonsService} from '../../../services/commons.service';
import {FormBuilder, FormGroup} from '@angular/forms';
import {NzMessageService} from 'ng-zorro-antd';
import {Router} from '@angular/router';
@Component({
selector: 'app-order-c-list',
templateUrl: './order-c-list.component.html',
styleUrls: ['./order-c-list.component.scss']
})
export class OrderCListComponent 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 company: CompanyService,
private merchant: MerchantService,
private common: CommonsService
) {
}
ngOnInit(): void {
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],
orderStatus: [null],
payTime: [null]
});
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;
this.order.getKfcOrderList(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();
}
this.order.exportGoodsOrderList(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 {
console.log(id);
this.id = id;
this.isVisible = true;
}
handleOk(): void {
if (this.refundContent == null || this.refundContent.length === 0) {
this.message.error('请输入退款原因');
return;
}
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;
}
}

@ -0,0 +1,177 @@
<!-- 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="paySerialNo"/>
</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-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.orderId)">申请退款</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,186 @@
import { Component, OnInit } from '@angular/core';
import {environment} from '../../../../environments/environment';
import {OrderService} from '../../../services/order.service';
import {IconService} from '../../../services/icon.service';
import {CompanyService} from '../../../services/company.service';
import {MerchantService} from '../../../services/merchant.service';
import {CommonsService} from '../../../services/commons.service';
import {FormBuilder, FormGroup} from '@angular/forms';
import {NzMessageService} from 'ng-zorro-antd';
import {Router} from '@angular/router';
@Component({
selector: 'app-order-k-list',
templateUrl: './order-k-list.component.html',
styleUrls: ['./order-k-list.component.scss']
})
export class OrderKListComponent 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 company: CompanyService,
private merchant: MerchantService,
private common: CommonsService
) {
}
ngOnInit(): void {
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],
orderStatus: [null],
payTime: [null]
});
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;
this.order.getCinemaOrderList(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();
}
this.order.exportGoodsOrderList(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 {
console.log(id);
this.id = id;
this.isVisible = true;
}
handleOk(): void {
if (this.refundContent == null || this.refundContent.length === 0) {
this.message.error('请输入退款原因');
return;
}
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;
}
}

@ -5,6 +5,8 @@ import {OrderDetailComponent} from './order-detail/order-detail.component';
import {OrderCouponsComponent} from './order-coupons/order-coupons.component'; import {OrderCouponsComponent} from './order-coupons/order-coupons.component';
import {OrderCouponComponent} from './order-coupon/order-coupon.component'; import {OrderCouponComponent} from './order-coupon/order-coupon.component';
import {OrderTListComponent} from './order-Tlist/order-Tlist.component'; import {OrderTListComponent} from './order-Tlist/order-Tlist.component';
import {OrderCListComponent} from './order-c-list/order-c-list.component';
import {OrderKListComponent} from './order-k-list/order-k-list.component';
const routes: Routes = [ const routes: Routes = [
@ -13,6 +15,8 @@ const routes: Routes = [
{ path: 'order-detail', component: OrderDetailComponent }, { path: 'order-detail', component: OrderDetailComponent },
{ path: 'order-coupons', component: OrderCouponsComponent }, { path: 'order-coupons', component: OrderCouponsComponent },
{ path: 'order-coupon', component: OrderCouponComponent }, { path: 'order-coupon', component: OrderCouponComponent },
{ path: 'order-c-list', component: OrderCListComponent },
{ path: 'order-k-list', component: OrderKListComponent },
]; ];
@NgModule({ @NgModule({

@ -13,10 +13,12 @@ import { OrderDetailComponent } from './order-detail/order-detail.component';
import { OrderCouponsComponent } from './order-coupons/order-coupons.component'; import { OrderCouponsComponent } from './order-coupons/order-coupons.component';
import { OrderCouponComponent } from './order-coupon/order-coupon.component'; import { OrderCouponComponent } from './order-coupon/order-coupon.component';
import {OrderTListComponent} from './order-Tlist/order-Tlist.component'; import {OrderTListComponent} from './order-Tlist/order-Tlist.component';
import { OrderKListComponent } from './order-k-list/order-k-list.component';
import {OrderCListComponent} from './order-c-list/order-c-list.component';
@NgModule({ @NgModule({
declarations: [OrderListComponent, OrderDetailComponent, OrderCouponsComponent, OrderCouponComponent , OrderTListComponent], declarations: [OrderListComponent, OrderDetailComponent, OrderCouponsComponent, OrderCouponComponent , OrderTListComponent, OrderKListComponent , OrderCListComponent],
imports: [ imports: [
CommonModule, CommonModule,
OrderRoutingModule, OrderRoutingModule,

@ -37,8 +37,8 @@
<div class="inner-content"> <div class="inner-content">
<span>共计 {{total}} 条数据</span> <span>共计 {{total}} 条数据</span>
<div class="operating-button"> <div class="operating-button">
<button nz-button nzType="primary" class="right-btn" (click)="getEdit()"><i nz-icon nzType="plus" nzTheme="outline"></i>添加 <button nz-button nzType="primary" class="right-btn" (click)="getMemberGoods()">获取关联商品</button>
</button> <button nz-button nzType="primary" class="right-btn" (click)="getEdit()"><i nz-icon nzType="plus" nzTheme="outline"></i>添加</button>
</div> </div>
<nz-table <nz-table
class="table" class="table"
@ -56,6 +56,8 @@
<tr> <tr>
<th>编号</th> <th>编号</th>
<th>金额类型</th> <th>金额类型</th>
<th>供货商编号</th>
<th>商品ID</th>
<th>充值金额</th> <th>充值金额</th>
<th>支付金额</th> <th>支付金额</th>
<th>创建时间</th> <th>创建时间</th>
@ -66,6 +68,8 @@
<tr *ngFor="let data of ajaxTable.data; let i = index"> <tr *ngFor="let data of ajaxTable.data; let i = index">
<td>{{i + 1}}</td> <td>{{i + 1}}</td>
<td>{{data.type | rechargePrice}}</td> <td>{{data.type | rechargePrice}}</td>
<td>{{data.channel}}</td>
<td>{{data.goodsId}}</td>
<td>{{data.price}}</td> <td>{{data.price}}</td>
<td>{{data.realPrice}}</td> <td>{{data.realPrice}}</td>
<td>{{data.createTime | date: 'yyyy-MM-dd HH:mm'}}</td> <td>{{data.createTime | date: 'yyyy-MM-dd HH:mm'}}</td>
@ -89,18 +93,68 @@
</nz-select> </nz-select>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>供货商编号</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请输入供货商编号!">
<input [type]="'number'" nz-input formControlName="channel" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>商品ID</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请输入商品ID!">
<input [type]="'number'" nz-input formControlName="goodsId" />
</nz-form-control>
</nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>充值金额</nz-form-label> <nz-form-label [nzSpan]="6" nzRequired>充值金额</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请输入充值金额!"> <nz-form-control [nzSpan]="16" nzErrorTip="请输入充值金额!">
<input [type]="'number'" nz-input formControlName="price"/> <nz-input-group nzSuffix="RMB" nzPrefix="¥">
<input [type]="'number'" (ngModelChange)="getPrice()" nz-input formControlName="price" />
</nz-input-group>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>折扣比例</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请输入折扣比例!">
<nz-input-group nzSuffix="%" >
<input [type]="'number'" (ngModelChange)="getPrice()" nz-input formControlName="discount" />
</nz-input-group>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
<nz-form-item> <nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>支付金额</nz-form-label> <nz-form-label [nzSpan]="6" nzRequired>支付金额</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请输入支付金额!"> <nz-form-control [nzSpan]="16" nzErrorTip="请输入支付金额!">
<input [type]="'number'" nz-input formControlName="realPrice"/> <nz-input-group nzSuffix="RMB" nzPrefix="¥">
<input [type]="'number'" nz-input [(ngModel)]="realPrice" formControlName="realPrice" />
</nz-input-group>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</form> </form>
</nz-modal> </nz-modal>
<nz-modal [(nzVisible)]="isVisibleGoods" nzWidth="900" nzTitle="渠道商获取关联商品" (nzOnCancel)="handleCancelGoods()" (nzOnOk)="handleCancelGoods()">
<nz-table #basicTable [nzData]="goodsArray">
<thead>
<tr>
<th>供货商编号</th>
<th>商品ID</th>
<th>渠道商标识符</th>
<th>折扣比例</th>
<th>商品名称</th>
<th>渠道商名称</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data">
<td>{{data.channel}}</td>
<td>{{data.goodsId}}</td>
<td>{{data.channelMark | channelMark}}</td>
<td>{{data.discountRatio}}%</td>
<td>{{data.goodsName}}</td>
<td>{{data.memberName}}</td>
<td>{{data.state == 1 ? '上架' : '下架'}}</td>
</tr>
</tbody>
</nz-table>
</nz-modal>

@ -27,6 +27,10 @@ export class PriceListComponent implements OnInit {
isVisible = false; isVisible = false;
id: number; id: number;
edit = false; edit = false;
isVisibleGoods = false;
realPrice = 0;
goodsArray;
constructor( constructor(
private form: FormBuilder, private form: FormBuilder,
private recharge: RechargeService, private recharge: RechargeService,
@ -50,9 +54,13 @@ export class PriceListComponent implements OnInit {
this.validateForm = this.form.group({ this.validateForm = this.form.group({
type: [null, [Validators.required]], type: [null, [Validators.required]],
price: [null, [Validators.required]], price: [null, [Validators.required]],
realPrice: [null, [Validators.required]], realPrice: [{value: null, disabled: true}, [Validators.required]],
goodsId: [null, [Validators.required]],
discount: [null, [Validators.required]],
channel: [null, [Validators.required]],
}); });
this.getRequest(true, this.searchForm.value); this.getRequest(true, this.searchForm.value);
} }
@ -92,6 +100,7 @@ export class PriceListComponent implements OnInit {
} else { } else {
this.validateForm.reset(); this.validateForm.reset();
this.isVisible = true; this.isVisible = true;
this.edit = false;
} }
} }
@ -115,6 +124,7 @@ export class PriceListComponent implements OnInit {
return; return;
} }
} }
this.validateForm.value.realPrice = this.realPrice;
if (this.edit) { if (this.edit) {
this.validateForm.value['id'] = this.id; this.validateForm.value['id'] = this.id;
this.recharge.updatePrice(this.validateForm.value, data => { this.recharge.updatePrice(this.validateForm.value, data => {
@ -144,6 +154,9 @@ export class PriceListComponent implements OnInit {
this.isVisible = false; this.isVisible = false;
} }
handleCancelGoods(): void {
this.isVisibleGoods = false;
}
public getForbiddenUser(id): void { public getForbiddenUser(id): void {
this.common.showConfirm('是否删除', item => { this.common.showConfirm('是否删除', item => {
@ -160,4 +173,16 @@ export class PriceListComponent implements OnInit {
}); });
} }
public getMemberGoods(): void {
this.isVisibleGoods = true;
this.recharge.getMemberGoods(data => {
console.log(data);
this.goodsArray = data['return_data']['data'];
});
}
public getPrice(): void {
this.realPrice = this.validateForm.value.price * this.validateForm.value.discount / 100;
}
} }

@ -25,7 +25,8 @@ import {
DisplayAreaPipe, DisplayAreaPipe,
DiscountCodeStatusPipe, DiscountCodeStatusPipe,
RechargePricePipe, RechargePricePipe,
RechargeStatusPipe RechargeStatusPipe,
ChannelMarkPipe
} from './pipes'; } from './pipes';
@ -45,7 +46,8 @@ const PIPES = [
DisplayAreaPipe, DisplayAreaPipe,
DiscountCodeStatusPipe, DiscountCodeStatusPipe,
RechargePricePipe, RechargePricePipe,
RechargeStatusPipe RechargeStatusPipe,
ChannelMarkPipe
]; ];
@ -59,6 +61,7 @@ const PIPES = [
], ],
declarations: [ declarations: [
...PIPES, ...PIPES,
ChannelMarkPipe,
], ],
exports: [ exports: [

@ -0,0 +1,23 @@
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'channelMark'
})
export class ChannelMarkPipe implements PipeTransform {
transform(value: number): string {
switch (value) {
case 1:
return '中石油';
case 2:
return '中石化';
case 3:
return '移动';
case 4:
return '联通';
case 5:
return '电信';
}
}
}

@ -14,3 +14,4 @@ export * from './display-area.pipe';
export * from './discount-code-status.pipe'; export * from './discount-code-status.pipe';
export * from './recharge-price.pipe'; export * from './recharge-price.pipe';
export * from './recharge-status.pipe'; export * from './recharge-status.pipe';
export * from './channel-mark.pipe';

@ -37,6 +37,30 @@ export class OrderService {
}); });
} }
/**
* KFC订单列表
*
* @param paramsObject
* @param callBack
*/
public getKfcOrderList(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'highOrder/getKfcOrderList?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
/**
* dianying订单列表
*
* @param paramsObject
* @param callBack
*/
public getCinemaOrderList(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'highOrder/getCinemaOrderList?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
/** /**
* *
* *

@ -196,6 +196,16 @@ export class RechargeService {
}); });
} }
/**
*
*
* @param callBack
*/
public getMemberGoods(callBack) {
this.http.get(environment.baseUrl + 'telApi/getMemberGoods').subscribe(data => {
callBack(data);
});
}
} }

@ -0,0 +1,19 @@
// This file can be replaced during build by using the `fileReplacements` array.
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
// The list of file replacements can be found in `angular.json`.
export const environment = {
production: false,
baseUrl: 'https://cz.cqzhongkahui.com/brest/', // 测试环境服务器地址(请求数据地址)
imageUrl: 'https://cz.cqzhongkahui.com/filesystem/',
key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
};
/*
* For easier debugging in development mode, you can import the following file
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
*
* This import should be commented out in production mode because it will have a negative impact
* on performance if an error is thrown.
*/
// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
Loading…
Cancel
Save