车队长列表
This commit is contained in:
@ -0,0 +1,398 @@
|
||||
/*
|
||||
* @Description:
|
||||
* @Author: wsm
|
||||
* @Date: 2021-07-15 09:42:57
|
||||
* @LastEditTime: 2021-12-01 10:36:54
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Reference:
|
||||
*/
|
||||
import { AfterViewInit, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
|
||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
||||
import { STComponent } from '@delon/abc/st';
|
||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
|
||||
import { ModalHelper } from '@delon/theme';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { filter } from 'rxjs/operators';
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'app-supply-goods-components-list-carload',
|
||||
templateUrl: './carload.component.html',
|
||||
styleUrls: ['./carload.component.less'],
|
||||
})
|
||||
export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterViewInit {
|
||||
@ViewChild('st', { static: true }) st!: STComponent;
|
||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||
validateForm!: FormGroup;
|
||||
@ViewChild('exportTemplate')
|
||||
exportTemplate!: TemplateRef<any>;
|
||||
ui: SFUISchema = {};
|
||||
mode: any = 'search';
|
||||
tabs = ['全部', '待审核', '待支付', '待发货', '待收货', '已完成'];
|
||||
exportFieldList = [
|
||||
'订单号',
|
||||
'下单时间',
|
||||
'支付方式',
|
||||
'订单金额',
|
||||
'订单状态',
|
||||
'下单商家',
|
||||
'SKU信息(SKUID,商品名称+规格名称,数量)',
|
||||
'配送方式',
|
||||
'收件人',
|
||||
'收件人电话',
|
||||
'收件人地址',
|
||||
];
|
||||
listData: any;
|
||||
orderStatus: any = '0'; // 订单状态, 10为已提交待付款, 20为已付款待发,30为已发货待收货,50取消订单,40 已完成
|
||||
nzSelectedIndex = 0;
|
||||
total = 1;
|
||||
loading = false;
|
||||
pageSize = 20;
|
||||
pageIndex = 1;
|
||||
toSendCount = 0;
|
||||
addTimeStart = '';
|
||||
addTimeEnd = '';
|
||||
sfExpand = false;
|
||||
_$expand = false;
|
||||
|
||||
schema!: SFSchema;
|
||||
payStatus: any;
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private modal: NzModalService,
|
||||
private router: Router,
|
||||
private ar: ActivatedRoute,
|
||||
private modalHelper: ModalHelper,
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.getList();
|
||||
this.initSF();
|
||||
this.initUI();
|
||||
}
|
||||
|
||||
ngAfterViewInit() {
|
||||
// this.router.events.pipe(filter((evt) => evt instanceof NavigationEnd)).subscribe(() => {
|
||||
//
|
||||
// });
|
||||
}
|
||||
|
||||
initSF() {
|
||||
this.schema = {
|
||||
properties: {
|
||||
expand: {
|
||||
type: 'boolean',
|
||||
ui: {
|
||||
hidden: true,
|
||||
},
|
||||
},
|
||||
storeName: { title: '企业名称', type: 'string', ui: { showRequired: false } },
|
||||
contactsName: {
|
||||
title: '联系人',
|
||||
type: 'string',
|
||||
ui: {
|
||||
showRequired: false,
|
||||
},
|
||||
},
|
||||
unifiedSocialCreditCode: {
|
||||
title: '税源地',
|
||||
type: 'string',
|
||||
ui: {
|
||||
showRequired: false,
|
||||
},
|
||||
},
|
||||
enStatus: {
|
||||
type: 'string',
|
||||
title: '货主状态',
|
||||
enum: [
|
||||
{ label: '全部', value: '' },
|
||||
{ label: '正常', value: 0 },
|
||||
{ label: '冻结', value: 1 },
|
||||
{ label: '废弃', value: 2 },
|
||||
],
|
||||
default: '',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
visibleIf: {
|
||||
expand: (value: boolean) => value,
|
||||
},
|
||||
},
|
||||
},
|
||||
enStatus2: {
|
||||
type: 'string',
|
||||
title: 'CRM审核状态',
|
||||
enum: [
|
||||
{ label: '全部', value: '' },
|
||||
{ label: '正常', value: 0 },
|
||||
{ label: '冻结', value: 1 },
|
||||
{ label: '废弃', value: 2 },
|
||||
],
|
||||
default: '',
|
||||
ui: {
|
||||
widget: 'select',
|
||||
visibleIf: {
|
||||
expand: (value: boolean) => value,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
|
||||
}
|
||||
initUI() {
|
||||
this.ui = {
|
||||
'*': {
|
||||
spanLabelFixed: 90,
|
||||
grid: { span: 8 },
|
||||
},
|
||||
};
|
||||
}
|
||||
tabChange(i: number) {
|
||||
this.changeIndex(i);
|
||||
this.getList();
|
||||
}
|
||||
changeIndex(i: number) {
|
||||
if (i === 0) {
|
||||
this.orderStatus = '0';
|
||||
this.payStatus = null;
|
||||
} else if (i === 1) {
|
||||
this.orderStatus = '5';
|
||||
this.payStatus = null;
|
||||
} else if (i === 2) {
|
||||
this.orderStatus = null;
|
||||
this.payStatus = '10';
|
||||
} else if (i === 3) {
|
||||
this.orderStatus = '20';
|
||||
this.payStatus = null;
|
||||
} else if (i === 4) {
|
||||
this.orderStatus = '30';
|
||||
this.payStatus = null;
|
||||
} else if (i === 5) {
|
||||
this.orderStatus = '40';
|
||||
this.payStatus = null;
|
||||
}
|
||||
this.pageIndex = 1;
|
||||
}
|
||||
getList(type?: string) {
|
||||
// this.loading = true;
|
||||
const params: any = {
|
||||
pageSize: this.pageSize,
|
||||
pageIndex: this.pageIndex,
|
||||
...this.sf?.value,
|
||||
orderStatus: this.orderStatus,
|
||||
payStatus: this.payStatus,
|
||||
createTime: this.sf?.value.createTime || [],
|
||||
time: {},
|
||||
};
|
||||
if (this.sf?.value?.createTime) {
|
||||
delete params.createTime;
|
||||
params.time.start = this.sf?.value?.createTime[0];
|
||||
params.time.end = this.sf?.value?.createTime[1];
|
||||
}
|
||||
delete params.expand;
|
||||
if (type === 'search') {
|
||||
params.pageIndex = 1;
|
||||
}
|
||||
// this.service.request(this.service.$api_get_page, params).subscribe((res) => {
|
||||
// this.loading = false;
|
||||
// this.listData = res.orderPage.records;
|
||||
// this.toSendCount = res.toSendCount;
|
||||
// this.listData.forEach((element: { goodsList: { goodsSpecJson: string }[] }) => {
|
||||
// element.goodsList.forEach((item: { goodsSpecJson: string }) => {
|
||||
// if (item.goodsSpecJson) {
|
||||
// item.goodsSpecJson = JSON.parse(item.goodsSpecJson);
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
// this.total = res.orderPage.total;
|
||||
// });
|
||||
}
|
||||
|
||||
orderExport() {
|
||||
// this.service.exportStart(params, this.service.$api_export);
|
||||
this.modal.create({
|
||||
nzTitle: '订单导出',
|
||||
nzContent: this.exportTemplate,
|
||||
// nzContent: `待导出订单总数:${this.pageInfo.total}条,确定要导出吗?`,
|
||||
nzOnOk: () => {
|
||||
const params: any = {
|
||||
pageSize: this.pageSize,
|
||||
pageIndex: this.pageIndex,
|
||||
...this.sf?.value,
|
||||
orderStatus: this.orderStatus,
|
||||
// createTime: this.sf?.value.createTime || [],
|
||||
};
|
||||
delete params.expand;
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
goDetail(data: any) {
|
||||
this.router.navigate(['../order-detail', data.orderSn], { relativeTo: this.ar });
|
||||
}
|
||||
|
||||
// 批量发货
|
||||
deliverBelivery() {
|
||||
this.router.navigate(['../order-batch-delivery'], { relativeTo: this.ar });
|
||||
}
|
||||
changePageIndex(pageIndex: number) {
|
||||
this.pageIndex = pageIndex;
|
||||
this.getList();
|
||||
}
|
||||
changePageSize(value: number) {
|
||||
this.pageSize = value;
|
||||
this.getList();
|
||||
}
|
||||
expandToggle() {
|
||||
this.sfExpand = !this.sfExpand;
|
||||
this.sf?.setValue('/expand', this.sfExpand);
|
||||
}
|
||||
|
||||
// 修改运单
|
||||
updateLogistics(data: any) {
|
||||
// 如果是多个运单
|
||||
if (data.deliveryList.length > 1) {
|
||||
this.updateLogisticsList(data);
|
||||
} else {
|
||||
data.deliveryAddrId = data.deliveryList[0].deliveryAddrId;
|
||||
data.deliveryCorpSn = data.deliveryList[0].deliveryCorpSn;
|
||||
data.deliverySn = data.deliveryList[0].deliverySn; // 原物流单号
|
||||
data.expressName = data.deliveryList[0].expressName; // 原物流公司
|
||||
data.sendName = data.deliveryList[0].sendName;
|
||||
data.sendMobile = data.deliveryList[0].sendMobile;
|
||||
data.sendAddr = data.deliveryList[0].sendAddr;
|
||||
data.orderExpressItemVOList = data.deliveryList[0].orderExpressItemVOList; // 运单对应的发货商品信息
|
||||
this.updateLogisticsPop(data);
|
||||
}
|
||||
}
|
||||
|
||||
// 修改运单中间页List
|
||||
updateLogisticsList(data: any) {
|
||||
const modalRef = this.modal.create({
|
||||
nzTitle: '运单信息',
|
||||
nzWidth: 1200,
|
||||
// nzContent: OrderComponentsOrderLogisticsmessageComponent,
|
||||
nzComponentParams: {
|
||||
listData: data,
|
||||
},
|
||||
nzFooter: null,
|
||||
});
|
||||
modalRef.afterClose.subscribe((result) => {
|
||||
if (result === true) {
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 修改运单弹窗
|
||||
updateLogisticsPop(data: any) {
|
||||
const modalRef = this.modal.create({
|
||||
nzTitle: '已发货商品',
|
||||
nzWidth: 1200,
|
||||
// nzContent: OrderComponentsOrderDeliverGoodsUpdateComponent,
|
||||
nzComponentParams: {
|
||||
listData: data,
|
||||
},
|
||||
nzFooter: null,
|
||||
});
|
||||
modalRef.afterClose.subscribe((result) => {
|
||||
if (result === true) {
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 立即发货
|
||||
deliverGoods(data: any) {
|
||||
// const modalRef = this.modal.create({
|
||||
// nzTitle: '订单发货',
|
||||
// nzWidth: 1200,
|
||||
// nzContent: OrderComponentsOrderDelivergoodsComponent,
|
||||
// nzComponentParams: {
|
||||
// listData: data,
|
||||
// },
|
||||
// nzFooter: null,
|
||||
// });
|
||||
// modalRef.afterOpen.subscribe(() => {});
|
||||
// modalRef.afterClose.subscribe((result) => {
|
||||
// if (result === true) {
|
||||
// this.getList();
|
||||
// }
|
||||
// });
|
||||
this.router.navigate(['../order-deliver-goods'], { relativeTo: this.ar });
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置表单
|
||||
*/
|
||||
resetSF() {
|
||||
this.sf.reset();
|
||||
this.sfExpand = false;
|
||||
}
|
||||
/**
|
||||
* 立即确认
|
||||
*/
|
||||
deliversure(val: any) {
|
||||
const modalRef = this.modal.create({
|
||||
nzTitle: '订单确认',
|
||||
nzWidth: 700,
|
||||
// nzContent: OrderComponentsOrderOrderlistOrderSureComponent,
|
||||
nzComponentParams: {
|
||||
record: val,
|
||||
},
|
||||
nzFooter: null,
|
||||
});
|
||||
modalRef.afterOpen.subscribe(() => {});
|
||||
modalRef.afterClose.subscribe((result) => {
|
||||
if (result === true) {
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 付款审核
|
||||
*/
|
||||
paymentReview(data: any) {
|
||||
const dialogData = {
|
||||
...data,
|
||||
};
|
||||
// this.modalHelper.create(OrderComponentsOrderOrderlistPaymentReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => {
|
||||
// if (res === '2') {
|
||||
// this.getList();
|
||||
// }
|
||||
// });
|
||||
}
|
||||
/**
|
||||
* 修改价格
|
||||
*/
|
||||
modifyPrice(data: any) {
|
||||
const dialogData = {
|
||||
...data,
|
||||
};
|
||||
// this.modalHelper.create(OrderComponentsOrderOrderlistModifyPriceComponent, { dialogData }, { size: 900 }).subscribe((res) => {
|
||||
// if (res === '2') {
|
||||
// this.getList();
|
||||
// }
|
||||
// });
|
||||
}
|
||||
/**
|
||||
* 审核
|
||||
*/
|
||||
orderReview(data: any) {
|
||||
const dialogData = {
|
||||
...data,
|
||||
};
|
||||
// this.modalHelper.create(OrderReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => {
|
||||
// if (res === '2') {
|
||||
// this.getList();
|
||||
// }
|
||||
// });
|
||||
}
|
||||
/**
|
||||
* 查询字段个数navigate
|
||||
*/
|
||||
get queryFieldCount(): number {
|
||||
return Object.keys(this.schema?.properties || {}).length;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user