|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
import { Component, OnInit } from '@angular/core'; |
|
|
|
|
import {Component, OnInit} from '@angular/core'; |
|
|
|
|
import {environment} from '../../../../environments/environment'; |
|
|
|
|
import {FormBuilder, FormGroup, Validators} from '@angular/forms'; |
|
|
|
|
import {CompanyService} from '../../../services/company.service'; |
|
|
|
@ -11,386 +11,386 @@ import {DiscountPackageService} from '../../../services/discount-package.service |
|
|
|
|
import {ValidatorsService} from '../../../services/validators.service'; |
|
|
|
|
|
|
|
|
|
@Component({ |
|
|
|
|
selector: 'app-discount-package-list', |
|
|
|
|
templateUrl: './discount-package-list.component.html', |
|
|
|
|
styleUrls: ['./discount-package-list.component.scss'] |
|
|
|
|
selector: 'app-discount-package-list', |
|
|
|
|
templateUrl: './discount-package-list.component.html', |
|
|
|
|
styleUrls: ['./discount-package-list.component.scss'] |
|
|
|
|
}) |
|
|
|
|
export class DiscountPackageListComponent implements OnInit { |
|
|
|
|
BASE_URL = environment.baseUrl; |
|
|
|
|
WEB_SERVE_URL = environment.imageUrl; |
|
|
|
|
searchForm: FormGroup; // 搜索框
|
|
|
|
|
requestData = []; // 列表数据
|
|
|
|
|
usingAttribution = []; // 列表数据
|
|
|
|
|
total: number; // 页码
|
|
|
|
|
pageNum = 1; // 页码
|
|
|
|
|
pageSize = 10; // 条码
|
|
|
|
|
loading = true; |
|
|
|
|
listOfData = []; |
|
|
|
|
isVisible = false; |
|
|
|
|
isVisibleInventory = false; |
|
|
|
|
id: number; |
|
|
|
|
num: number; |
|
|
|
|
|
|
|
|
|
deliverUserAddForm: FormGroup; |
|
|
|
|
deliverUserAddModal = false; |
|
|
|
|
userInterval; |
|
|
|
|
|
|
|
|
|
deliverUserSearchForm: FormGroup; |
|
|
|
|
deliverUserModal = false; |
|
|
|
|
deliverUserArray = []; |
|
|
|
|
deliverUserForm: FormGroup; |
|
|
|
|
serialNumber: string; |
|
|
|
|
|
|
|
|
|
excelUserModal = false; |
|
|
|
|
excelUploadBtn = true; |
|
|
|
|
excelUploadFile = []; |
|
|
|
|
|
|
|
|
|
spinObject = { |
|
|
|
|
title: '处理中', |
|
|
|
|
status: false |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
constructor( |
|
|
|
|
private form: FormBuilder, |
|
|
|
|
private company: CompanyService, |
|
|
|
|
private activate: ActivateService, |
|
|
|
|
private iconService: IconService, |
|
|
|
|
private message: NzMessageService, |
|
|
|
|
private modal: NzModalService, |
|
|
|
|
private router: Router, |
|
|
|
|
private discountPackage: DiscountPackageService, |
|
|
|
|
private commonsService: CommonsService, |
|
|
|
|
) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ngOnInit(): void { |
|
|
|
|
this.init(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public init(): void { |
|
|
|
|
this.searchForm = this.form.group({ |
|
|
|
|
title: [null], |
|
|
|
|
salesType: [null], |
|
|
|
|
usingAttribution: [null], |
|
|
|
|
recordNo: [null], |
|
|
|
|
status: [null], |
|
|
|
|
phone: [null], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.deliverUserSearchForm = this.form.group({ |
|
|
|
|
phone: [null], |
|
|
|
|
registerStatus: [null], |
|
|
|
|
errorStatus: [null], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.deliverUserForm = this.form.group({ |
|
|
|
|
packageId: [null], |
|
|
|
|
packageName: [''], |
|
|
|
|
phoneArray: [null], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.deliverUserAddForm = this.form.group({ |
|
|
|
|
phone: [null, [Validators.required, ValidatorsService.mobile]], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
this.commonsService.getDictionary('USING_ATTRIBUTION ', data => { |
|
|
|
|
this.usingAttribution = data['return_data']; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 查询列表
|
|
|
|
|
public getRequest(reset: boolean = false, whereObject: object) { |
|
|
|
|
|
|
|
|
|
this.loading = false; |
|
|
|
|
if (reset) { |
|
|
|
|
this.pageNum = 1; |
|
|
|
|
BASE_URL = environment.baseUrl; |
|
|
|
|
WEB_SERVE_URL = environment.imageUrl; |
|
|
|
|
searchForm: FormGroup; // 搜索框
|
|
|
|
|
requestData = []; // 列表数据
|
|
|
|
|
usingAttribution = []; // 列表数据
|
|
|
|
|
total: number; // 页码
|
|
|
|
|
pageNum = 1; // 页码
|
|
|
|
|
pageSize = 10; // 条码
|
|
|
|
|
loading = true; |
|
|
|
|
listOfData = []; |
|
|
|
|
isVisible = false; |
|
|
|
|
isVisibleInventory = false; |
|
|
|
|
id: number; |
|
|
|
|
num: number; |
|
|
|
|
|
|
|
|
|
deliverUserAddForm: FormGroup; |
|
|
|
|
deliverUserAddModal = false; |
|
|
|
|
userInterval; |
|
|
|
|
|
|
|
|
|
deliverUserSearchForm: FormGroup; |
|
|
|
|
deliverUserModal = false; |
|
|
|
|
deliverUserArray = []; |
|
|
|
|
deliverUserForm: FormGroup; |
|
|
|
|
serialNumber: string; |
|
|
|
|
|
|
|
|
|
excelUserModal = false; |
|
|
|
|
excelUploadBtn = true; |
|
|
|
|
excelUploadFile = []; |
|
|
|
|
|
|
|
|
|
spinObject = { |
|
|
|
|
title: '处理中', |
|
|
|
|
status: false |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
constructor( |
|
|
|
|
private form: FormBuilder, |
|
|
|
|
private company: CompanyService, |
|
|
|
|
private activate: ActivateService, |
|
|
|
|
private iconService: IconService, |
|
|
|
|
private message: NzMessageService, |
|
|
|
|
private modal: NzModalService, |
|
|
|
|
private router: Router, |
|
|
|
|
private discountPackage: DiscountPackageService, |
|
|
|
|
private commonsService: CommonsService, |
|
|
|
|
) { |
|
|
|
|
} |
|
|
|
|
whereObject['pageNum'] = this.pageNum; |
|
|
|
|
whereObject['pageSize'] = this.pageSize; |
|
|
|
|
this.discountPackage.getDiscountPackageList(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(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 活动开始
|
|
|
|
|
public upDiscountPackage(id: number): void { |
|
|
|
|
this.discountPackage.upDiscountPackage({discountPackageId : id}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success('上架成功'); |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 活动结束
|
|
|
|
|
public downDiscountPackage(id: number): void { |
|
|
|
|
this.discountPackage.downDiscountPackage({discountPackageId : id}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success('下架成功'); |
|
|
|
|
|
|
|
|
|
ngOnInit(): void { |
|
|
|
|
this.init(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public init(): void { |
|
|
|
|
this.searchForm = this.form.group({ |
|
|
|
|
title: [null], |
|
|
|
|
salesType: [null], |
|
|
|
|
usingAttribution: [null], |
|
|
|
|
recordNo: [null], |
|
|
|
|
status: [null], |
|
|
|
|
phone: [null], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.deliverUserSearchForm = this.form.group({ |
|
|
|
|
phone: [null], |
|
|
|
|
registerStatus: [null], |
|
|
|
|
errorStatus: [null], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.deliverUserForm = this.form.group({ |
|
|
|
|
packageId: [null], |
|
|
|
|
packageName: [''], |
|
|
|
|
phoneArray: [null], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.deliverUserAddForm = this.form.group({ |
|
|
|
|
phone: [null, [Validators.required, ValidatorsService.mobile]], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 删除
|
|
|
|
|
public deleteDiscountPackage(id: number): void { |
|
|
|
|
this.commonsService.showConfirm('是否确认删除', isDelete => { |
|
|
|
|
if (isDelete) { |
|
|
|
|
this.discountPackage.deleteDiscountPackage({discountPackageId : id}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success('删除成功'); |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
this.commonsService.getDictionary('USING_ATTRIBUTION ', data => { |
|
|
|
|
this.usingAttribution = data['return_data']; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 修改
|
|
|
|
|
public getEdit(id: number): void { |
|
|
|
|
this.router.navigate(['/admin/discount-package/discount-package-edit'], { |
|
|
|
|
queryParams: { |
|
|
|
|
id |
|
|
|
|
} |
|
|
|
|
}).then(r => console.log(r)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleCancel(): void { |
|
|
|
|
this.isVisible = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public getDetails(id: number): void { |
|
|
|
|
this.discountPackage.getDiscountPackageRuleById(id , data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.listOfData = data['return_data']; |
|
|
|
|
this.isVisible = true; |
|
|
|
|
} else { |
|
|
|
|
this.message.create('error', data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 增加库存
|
|
|
|
|
public addInventory(id: number): void { |
|
|
|
|
this.id = id; |
|
|
|
|
this.isVisibleInventory = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handleCancelInventory(): void { |
|
|
|
|
this.isVisibleInventory = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleOkdInventory(): void { |
|
|
|
|
|
|
|
|
|
if (this.num == null || this.num === 0) { |
|
|
|
|
this.message.error('请输入新增库存数量'); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 查询列表
|
|
|
|
|
public getRequest(reset: boolean = false, whereObject: object) { |
|
|
|
|
|
|
|
|
|
const param = { |
|
|
|
|
num: this.num, |
|
|
|
|
discountPackageId: this.id |
|
|
|
|
}; |
|
|
|
|
const id = this.message.loading('增加库存中..', { nzDuration: 0 }).messageId; |
|
|
|
|
this.discountPackage.addDiscountPackageStock(param , data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.loading = false; |
|
|
|
|
if (reset) { |
|
|
|
|
this.pageNum = 1; |
|
|
|
|
} |
|
|
|
|
whereObject['pageNum'] = this.pageNum; |
|
|
|
|
whereObject['pageSize'] = this.pageSize; |
|
|
|
|
this.discountPackage.getDiscountPackageList(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(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 活动开始
|
|
|
|
|
public upDiscountPackage(id: number): void { |
|
|
|
|
this.discountPackage.upDiscountPackage({discountPackageId: id}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success('上架成功'); |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 活动结束
|
|
|
|
|
public downDiscountPackage(id: number): void { |
|
|
|
|
this.discountPackage.downDiscountPackage({discountPackageId: id}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success('下架成功'); |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 删除
|
|
|
|
|
public deleteDiscountPackage(id: number): void { |
|
|
|
|
this.commonsService.showConfirm('是否确认删除', isDelete => { |
|
|
|
|
if (isDelete) { |
|
|
|
|
this.discountPackage.deleteDiscountPackage({discountPackageId: id}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success('删除成功'); |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 修改
|
|
|
|
|
public getEdit(id: number): void { |
|
|
|
|
this.router.navigate(['/admin/discount-package/discount-package-edit'], { |
|
|
|
|
queryParams: { |
|
|
|
|
id |
|
|
|
|
} |
|
|
|
|
}).then(r => console.log(r)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleCancel(): void { |
|
|
|
|
this.isVisible = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public getDetails(id: number): void { |
|
|
|
|
this.discountPackage.getDiscountPackageRuleById(id, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.listOfData = data['return_data']; |
|
|
|
|
this.isVisible = true; |
|
|
|
|
} else { |
|
|
|
|
this.message.create('error', data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 增加库存
|
|
|
|
|
public addInventory(id: number): void { |
|
|
|
|
this.id = id; |
|
|
|
|
this.isVisibleInventory = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handleCancelInventory(): void { |
|
|
|
|
this.isVisibleInventory = false; |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
this.message.success('新增成功'); |
|
|
|
|
} else { |
|
|
|
|
this.message.create('error', data['return_msg']); |
|
|
|
|
} |
|
|
|
|
this.message.remove(id); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 打开 发送优惠券包给用户模态框
|
|
|
|
|
showDeliverUserModal(packageId: number, packageName: string) { |
|
|
|
|
this.discountPackage.getHandleByPackageId({ packageId: packageId}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
if (data['return_data'] != null) { |
|
|
|
|
this.modal.confirm({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '当前卷包有赠送任务进行中,是否查看赠送进度?', |
|
|
|
|
nzOnOk: () => this.processRate(data['return_data']['serialNumber']) |
|
|
|
|
}) |
|
|
|
|
} else { |
|
|
|
|
this.deliverUserForm.patchValue({ packageId: packageId, packageName: packageName}); |
|
|
|
|
this.deliverUserModal = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleOkdInventory(): void { |
|
|
|
|
|
|
|
|
|
if (this.num == null || this.num === 0) { |
|
|
|
|
this.message.error('请输入新增库存数量'); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭 发送优惠券包给用户模态框
|
|
|
|
|
closeDeliverUserModal() { |
|
|
|
|
this.deliverUserForm.reset(); |
|
|
|
|
this.deliverUserModal = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 删除赠送用户
|
|
|
|
|
delDeliverUser(serialNum: number) { |
|
|
|
|
this.deliverUserArray = this.deliverUserArray.filter(o => o.serialNum != serialNum); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 展示导入模态框
|
|
|
|
|
showExcelUserModal() { |
|
|
|
|
this.excelUserModal = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭导入模态框
|
|
|
|
|
closeExcelUserModal() { |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
this.excelUploadBtn = true; |
|
|
|
|
this.excelUploadFile = []; |
|
|
|
|
this.excelUserModal = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 提交赠送数据
|
|
|
|
|
submitDeliverUser() { |
|
|
|
|
if (this.deliverUserArray.length == 0) { |
|
|
|
|
this.modal.warning({ nzTitle: '提示', nzContent: '没有需要赠送的用户'}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const param = { |
|
|
|
|
num: this.num, |
|
|
|
|
discountPackageId: this.id |
|
|
|
|
}; |
|
|
|
|
const id = this.message.loading('增加库存中..', {nzDuration: 0}).messageId; |
|
|
|
|
this.discountPackage.addDiscountPackageStock(param, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.isVisibleInventory = false; |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
this.message.success('新增成功'); |
|
|
|
|
} else { |
|
|
|
|
this.message.create('error', data['return_msg']); |
|
|
|
|
} |
|
|
|
|
this.message.remove(id); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
this.deliverUserForm.patchValue({ phoneArray: this.deliverUserArray.filter(o => o.errorStatus == false)}); |
|
|
|
|
this.spinObject.status = true; |
|
|
|
|
this.spinObject.title = '处理中...'; |
|
|
|
|
const param = this.deliverUserForm.value; |
|
|
|
|
this.closeDeliverUserModal(); |
|
|
|
|
|
|
|
|
|
this.discountPackage.giveAway(param, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.serialNumber = data['return_data']; |
|
|
|
|
this.processRate(this.serialNumber); |
|
|
|
|
} else { |
|
|
|
|
this.showDeliverUserModal(this.deliverUserForm.controls.packageId.value, this.deliverUserForm.controls.packageName.value); |
|
|
|
|
this.message.create('error', data['return_msg']); |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 处理进度
|
|
|
|
|
processRate(serialNum: string) { |
|
|
|
|
this.spinObject.status = true; |
|
|
|
|
this.userInterval = setInterval(() => this.commonsService.getRedisValueByType(serialNum, data => { |
|
|
|
|
if (data['return_data'] != null) { |
|
|
|
|
this.spinObject.title = '已处理' + data['return_data'] + '条数据'; |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
// 打开 发送优惠券包给用户模态框
|
|
|
|
|
showDeliverUserModal(packageId: number, packageName: string) { |
|
|
|
|
this.discountPackage.getHandleByPackageId({packageId: packageId}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
if (data['return_data'] != null) { |
|
|
|
|
this.modal.confirm({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '当前卷包有赠送任务进行中,是否查看赠送进度?', |
|
|
|
|
nzOnOk: () => this.processRate(data['return_data']['serialNumber']) |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
this.deliverUserForm.patchValue({packageId: packageId, packageName: packageName}); |
|
|
|
|
this.deliverUserModal = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭 发送优惠券包给用户模态框
|
|
|
|
|
closeDeliverUserModal() { |
|
|
|
|
this.deliverUserForm.reset(); |
|
|
|
|
this.deliverUserModal = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 删除赠送用户
|
|
|
|
|
delDeliverUser(serialNum: number) { |
|
|
|
|
this.deliverUserArray = this.deliverUserArray.filter(o => o.serialNum != serialNum); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 展示导入模态框
|
|
|
|
|
showExcelUserModal() { |
|
|
|
|
this.excelUserModal = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭导入模态框
|
|
|
|
|
closeExcelUserModal() { |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
clearTimeout(this.userInterval); |
|
|
|
|
} |
|
|
|
|
}), 1000); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 提交excel数据
|
|
|
|
|
submitExcelUser() { |
|
|
|
|
this.spinObject.title = '文件导入中... 数据太多会占用较长时间'; |
|
|
|
|
this.spinObject.status = true; |
|
|
|
|
this.discountPackage.getPhoneListByFileUrl({ fileUrl: this.excelUploadFile[0]['url']}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.deliverUserArray = data['return_data']['data']; |
|
|
|
|
this.closeExcelUserModal(); |
|
|
|
|
} else { |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
this.excelUploadBtn = true; |
|
|
|
|
this.excelUploadFile = []; |
|
|
|
|
this.excelUserModal = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 提交赠送数据
|
|
|
|
|
submitDeliverUser() { |
|
|
|
|
if (this.deliverUserArray.length == 0) { |
|
|
|
|
this.modal.warning({nzTitle: '提示', nzContent: '没有需要赠送的用户'}); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
this.deliverUserForm.patchValue({phoneArray: this.deliverUserArray.filter(o => o.errorStatus == false)}); |
|
|
|
|
this.spinObject.status = true; |
|
|
|
|
this.spinObject.title = '处理中...'; |
|
|
|
|
const param = this.deliverUserForm.value; |
|
|
|
|
this.closeDeliverUserModal(); |
|
|
|
|
|
|
|
|
|
this.discountPackage.giveAway(param, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.serialNumber = data['return_data']; |
|
|
|
|
this.processRate(this.serialNumber); |
|
|
|
|
} else { |
|
|
|
|
this.showDeliverUserModal(this.deliverUserForm.controls.packageId.value, this.deliverUserForm.controls.packageName.value); |
|
|
|
|
this.message.create('error', data['return_msg']); |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 上传excel回调
|
|
|
|
|
excelUserHandleChange(info: NzUploadChangeParam): void { |
|
|
|
|
if (info.file.status !== 'uploading') { |
|
|
|
|
this.excelUploadFile = []; |
|
|
|
|
// 处理进度
|
|
|
|
|
processRate(serialNum: string) { |
|
|
|
|
this.spinObject.status = true; |
|
|
|
|
this.userInterval = setInterval(() => this.commonsService.getRedisValueByType(serialNum, data => { |
|
|
|
|
if (data['return_data'] != null) { |
|
|
|
|
this.spinObject.title = '已处理' + data['return_data'] + '条数据'; |
|
|
|
|
} else { |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
this.getRequest(true, this.searchForm.value); |
|
|
|
|
clearTimeout(this.userInterval); |
|
|
|
|
} |
|
|
|
|
}), 1000); |
|
|
|
|
} |
|
|
|
|
if (info.file.status === 'done') { |
|
|
|
|
this.excelUploadBtn = false; |
|
|
|
|
this.excelUploadFile.push( |
|
|
|
|
{ |
|
|
|
|
uid: '1', |
|
|
|
|
name: info.file.name, |
|
|
|
|
status: 'done', |
|
|
|
|
url: info.file['response']['return_data'][0], |
|
|
|
|
thumbUrl: this.WEB_SERVE_URL + info.file['response']['return_data'][0], |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
} else if (info.file.status === 'error') { |
|
|
|
|
this.message.error('文件上传失败'); |
|
|
|
|
|
|
|
|
|
// 提交excel数据
|
|
|
|
|
submitExcelUser() { |
|
|
|
|
this.spinObject.title = '文件导入中... 数据太多会占用较长时间'; |
|
|
|
|
this.spinObject.status = true; |
|
|
|
|
this.discountPackage.getPhoneListByFileUrl({fileUrl: this.excelUploadFile[0]['url']}, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.deliverUserArray = data['return_data']['data']; |
|
|
|
|
this.closeExcelUserModal(); |
|
|
|
|
} else { |
|
|
|
|
this.spinObject.status = false; |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 打开 发送优惠券包给用户模态框
|
|
|
|
|
showDeliverUserAddModal() { |
|
|
|
|
this.deliverUserAddModal = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭 发送优惠券包给用户模态框
|
|
|
|
|
closeDeliverUserAddModal() { |
|
|
|
|
this.deliverUserAddForm.reset(); |
|
|
|
|
this.deliverUserAddModal = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
submitDeliverUserAdd() { |
|
|
|
|
for (const i in this.deliverUserAddForm.controls) { |
|
|
|
|
this.deliverUserAddForm.controls[i].markAsDirty(); |
|
|
|
|
this.deliverUserAddForm.controls[i].updateValueAndValidity(); |
|
|
|
|
|
|
|
|
|
// 上传excel回调
|
|
|
|
|
excelUserHandleChange(info: NzUploadChangeParam): void { |
|
|
|
|
if (info.file.status !== 'uploading') { |
|
|
|
|
this.excelUploadFile = []; |
|
|
|
|
} |
|
|
|
|
if (info.file.status === 'done') { |
|
|
|
|
this.excelUploadBtn = false; |
|
|
|
|
this.excelUploadFile.push( |
|
|
|
|
{ |
|
|
|
|
uid: '1', |
|
|
|
|
name: info.file.name, |
|
|
|
|
status: 'done', |
|
|
|
|
url: info.file['response']['return_data'][0], |
|
|
|
|
thumbUrl: this.WEB_SERVE_URL + info.file['response']['return_data'][0], |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
} else if (info.file.status === 'error') { |
|
|
|
|
this.message.error('文件上传失败'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (this.deliverUserAddForm.status == null || this.deliverUserAddForm.status !== 'VALID') { |
|
|
|
|
this.modal.warning({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '请规范填写所有的必填项信息', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
// 打开 发送优惠券包给用户模态框
|
|
|
|
|
showDeliverUserAddModal() { |
|
|
|
|
this.deliverUserAddModal = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let phoneObject = this.deliverUserArray.find(o => o.phone == this.deliverUserAddForm.controls.phone.value); |
|
|
|
|
if (phoneObject != null) { |
|
|
|
|
this.modal.warning({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '手机号在列表中已存在', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
// 关闭 发送优惠券包给用户模态框
|
|
|
|
|
closeDeliverUserAddModal() { |
|
|
|
|
this.deliverUserAddForm.reset(); |
|
|
|
|
this.deliverUserAddModal = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.discountPackage.getPhoneRegisterStatus(this.deliverUserAddForm.value, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.deliverUserArray.push({ |
|
|
|
|
serialNum: this.deliverUserArray.length + 1, |
|
|
|
|
phone: this.deliverUserAddForm.controls.phone.value, |
|
|
|
|
registerStatus: data['return_data'], |
|
|
|
|
errorStatus: false, |
|
|
|
|
errorMsg: null |
|
|
|
|
submitDeliverUserAdd() { |
|
|
|
|
for (const i in this.deliverUserAddForm.controls) { |
|
|
|
|
this.deliverUserAddForm.controls[i].markAsDirty(); |
|
|
|
|
this.deliverUserAddForm.controls[i].updateValueAndValidity(); |
|
|
|
|
} |
|
|
|
|
if (this.deliverUserAddForm.status == null || this.deliverUserAddForm.status !== 'VALID') { |
|
|
|
|
this.modal.warning({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '请规范填写所有的必填项信息', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let phoneObject = this.deliverUserArray.find(o => o.phone == this.deliverUserAddForm.controls.phone.value); |
|
|
|
|
if (phoneObject != null) { |
|
|
|
|
this.modal.warning({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '手机号在列表中已存在', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.discountPackage.getPhoneRegisterStatus(this.deliverUserAddForm.value, data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.deliverUserArray.push({ |
|
|
|
|
serialNum: this.deliverUserArray.length + 1, |
|
|
|
|
phone: this.deliverUserAddForm.controls.phone.value, |
|
|
|
|
registerStatus: data['return_data'], |
|
|
|
|
errorStatus: false, |
|
|
|
|
errorMsg: null |
|
|
|
|
}); |
|
|
|
|
this.deliverUserArray = this.deliverUserArray.slice(); |
|
|
|
|
this.closeDeliverUserAddModal(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
this.deliverUserArray = this.deliverUserArray.slice(); |
|
|
|
|
this.closeDeliverUserAddModal(); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 下载模板
|
|
|
|
|
downloadTemp() { |
|
|
|
|
window.location.href = this.WEB_SERVE_URL + 'template/导入模板.xlsx'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 下载模板
|
|
|
|
|
downloadTemp() { |
|
|
|
|
window.location.href = this.WEB_SERVE_URL + 'template/导入模板.xlsx'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|