You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
5.0 KiB
150 lines
5.0 KiB
import {Component, OnInit} from '@angular/core';
|
|
import {ActivatedRoute} from '@angular/router';
|
|
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
|
|
import {NzMessageService, NzModalService, NzUploadChangeParam} from 'ng-zorro-antd';
|
|
import {CouponService} from '../../../services/coupon.service';
|
|
import {environment} from '../../../../environments/environment';
|
|
|
|
@Component({
|
|
selector: 'app-sales-code-list',
|
|
templateUrl: './sales-code-list.component.html',
|
|
styleUrls: ['./sales-code-list.component.scss']
|
|
})
|
|
export class SalesCodeListComponent implements OnInit {
|
|
|
|
searchForm: FormGroup; // 搜索框
|
|
codeForm: FormGroup; // 搜索框
|
|
requestData = []; // 列表数据
|
|
total: number; // 页码
|
|
pageNum = 1; // 页码
|
|
pageSize = 10; // 条码
|
|
loading = true;
|
|
id = null;
|
|
name: string;
|
|
type: number;
|
|
isVisible = false;
|
|
WEB_SERVE_URL = environment.baseUrl;
|
|
importErrorStudentArray = [];
|
|
errorStudentVisible = false;
|
|
|
|
constructor(
|
|
private form: FormBuilder,
|
|
private activatedRoute: ActivatedRoute,
|
|
private message: NzMessageService,
|
|
private modal: NzModalService,
|
|
private coupon: CouponService
|
|
) {
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.activatedRoute.queryParams.subscribe(queryParams => {
|
|
if (queryParams.couponId != null) {
|
|
this.id = queryParams.couponId;
|
|
this.name = queryParams.name;
|
|
this.type = Number(queryParams.type);
|
|
this.searchForm = this.form.group({
|
|
status: [null],
|
|
salesCode: [null],
|
|
});
|
|
this.getRequest(true, this.searchForm.value);
|
|
}
|
|
});
|
|
this.codeForm = this.form.group({
|
|
salesEndTime: [null, [Validators.required]],
|
|
useEndTime: [null, [Validators.required]],
|
|
generateNum: [null, [Validators.required]],
|
|
});
|
|
}
|
|
|
|
// 查询列表
|
|
public getRequest(reset: boolean = false, whereObject: object) {
|
|
|
|
this.loading = false;
|
|
if (reset) {
|
|
this.pageNum = 1;
|
|
}
|
|
whereObject['couponId'] = this.id;
|
|
whereObject['pageNum'] = this.pageNum;
|
|
whereObject['pageSize'] = this.pageSize;
|
|
this.coupon.getCouponCodeList(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 resetForm(): void {
|
|
this.searchForm.reset();
|
|
}
|
|
|
|
showModal(): void {
|
|
this.isVisible = true;
|
|
}
|
|
|
|
handleOk(): void {
|
|
// tslint:disable-next-line:forin
|
|
for (const i in this.codeForm.controls) {
|
|
this.codeForm.controls[i].markAsDirty();
|
|
this.codeForm.controls[i].updateValueAndValidity();
|
|
if (this.codeForm.controls[i].errors != null) {
|
|
this.message.error('必填项不能为空');
|
|
return;
|
|
}
|
|
}
|
|
this.codeForm.value['couponId'] = this.id;
|
|
this.coupon.writeStock(this.codeForm.value , data => {
|
|
if (data['return_code'] === '000000') {
|
|
this.getRequest(true, this.searchForm.value);
|
|
this.message.success('生成成功');
|
|
} else {
|
|
this.message.create('error', '生成失败');
|
|
}
|
|
});
|
|
this.isVisible = false;
|
|
}
|
|
|
|
handleCancel(): void {
|
|
console.log('Button cancel clicked!');
|
|
this.isVisible = false;
|
|
}
|
|
|
|
handleCancelError(): void {
|
|
this.errorStudentVisible = false;
|
|
}
|
|
|
|
handleChange(info: NzUploadChangeParam): void {
|
|
if (info.file.status === 'done') {
|
|
if (info.file.response.return_code === '000000') {
|
|
this.loading = false;
|
|
if (info.file.response.return_data == null || info.file.response.return_data.errorTotal === 0) {
|
|
this.message.success('导入成功');
|
|
this.getRequest(true, this.searchForm.value);
|
|
} else {
|
|
this.modal.warning({
|
|
nzTitle: '提示',
|
|
nzOkText: '查看失败数据',
|
|
nzContent: '只有部分数据导入成功',
|
|
nzOnOk: () => this.showErrorStudentModal(info.file.response.return_data)
|
|
});
|
|
}
|
|
} else {
|
|
this.loading = false;
|
|
this.message.error(info.file.response.return_msg);
|
|
}
|
|
} else if (info.file.status === 'error') {
|
|
this.message.error('上传错误');
|
|
}
|
|
}
|
|
|
|
// 打开模态框
|
|
showErrorStudentModal(data: []) {
|
|
this.getRequest(true, this.searchForm.value);
|
|
this.importErrorStudentArray = data['errorData'];
|
|
this.errorStudentVisible = true;
|
|
}
|
|
}
|
|
|