177 lines
4.5 KiB
TypeScript
177 lines
4.5 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
import { STColumn } from '@delon/abc/st';
|
|
import { _HttpClient } from '@delon/theme';
|
|
import { NzMessageService } from 'ng-zorro-antd/message';
|
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
|
import { SupplyManagementService } from '../../services/supply-management.service';
|
|
import { SupplyManagementVehicleAssignedCarComponent } from '../assigned-car/assigned-car.component';
|
|
import { SupplyManagementUpdateExternalSnComponent } from '../update-external-sn/update-external-sn.component';
|
|
|
|
@Component({
|
|
selector: 'app-supply-management-vehicle-detail',
|
|
templateUrl: './vehicle-detail.component.html',
|
|
styleUrls: ['./vehicle-detail.component.less']
|
|
})
|
|
export class SupplyManagementVehicleDetailComponent implements OnInit {
|
|
|
|
id = this.route.snapshot.params.id;
|
|
i: any;
|
|
logColumns: STColumn[] = [
|
|
{ title: '内容', index: 'theme' },
|
|
{ title: '操作人', index: 'operationUserPhone' },
|
|
{ title: '操作时间', index: ' createTime' },
|
|
];
|
|
serviceType: any = {
|
|
1: '抢单',
|
|
2: '指派'
|
|
}
|
|
totalObj: any;
|
|
attObj: any;
|
|
status: any = { 1: '待接单', 2: '已接单', 3: '已取消' };
|
|
totalExpensePrice = 0;
|
|
expenseColumns: STColumn[] = [
|
|
{
|
|
title: '款项',
|
|
width: '150px',
|
|
className: 'text-center',
|
|
index: 'expenseName'
|
|
},
|
|
{
|
|
title: '总费用(元)',
|
|
width: '150px',
|
|
className: 'text-center',
|
|
render: 'total'
|
|
},
|
|
{
|
|
title: '协议金额(元)',
|
|
width: '150px',
|
|
className: 'text-center',
|
|
render: 'price'
|
|
},
|
|
];
|
|
|
|
constructor(
|
|
private route: ActivatedRoute,
|
|
private msgSrv: NzMessageService,
|
|
private service: SupplyManagementService,
|
|
public modal: NzModalService,
|
|
public router: Router
|
|
) {
|
|
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.getGoodsSourceDetail()
|
|
}
|
|
|
|
getGoodsSourceDetail() {
|
|
this.service.request(this.service.$api_get_getCompleteVehicleDetail, { id: this.id }).subscribe(res => {
|
|
console.log('888')
|
|
console.log(this.i)
|
|
const expenseList = res?.expenseVOList || [];
|
|
this.totalExpensePrice = 0;
|
|
this.attObj = res?.expenseVOList?.filter((data: any) => data.expenseCode === 'ATT')[0];
|
|
this.totalObj = res?.expenseVOList?.filter((data: any) => data.expenseCode === 'TOTAL')[0];
|
|
console.log(this.attObj)
|
|
console.log(this.totalObj)
|
|
expenseList.forEach((e: any) => {
|
|
this.totalExpensePrice += e?.price * e?.rate;
|
|
});
|
|
this.i = { ...res, totalExpensePrice: this.totalExpensePrice };
|
|
|
|
})
|
|
}
|
|
/**
|
|
* 修改货源
|
|
*/
|
|
updateGoodsSource(record: any) {
|
|
this.router.navigate(['/supply-management/vehicle-amend', record.id], {
|
|
queryParams: {
|
|
sta: 1
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 取消货源
|
|
*/
|
|
cancleGoodsSource() {
|
|
this.modal.confirm({
|
|
nzTitle: '<b>确定取消货源吗?</b>',
|
|
nzContent: `<b>取消后不可恢复,谨慎操作</b>`,
|
|
nzOnOk: () =>
|
|
this.service.request(this.service.$api_cancle_goods_source, { id: this.id }).subscribe(res => {
|
|
if (res === true) {
|
|
this.service.msgSrv.success('操作成功!');
|
|
this.getGoodsSourceDetail()
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
/**
|
|
*再下一单
|
|
* @param record
|
|
*/
|
|
placeOrder(record: any) {
|
|
this.router.navigate(['./pbg/onecar-publish'], {
|
|
queryParams: {
|
|
id: record?.id,
|
|
type: 'add'
|
|
}
|
|
})
|
|
}
|
|
/**
|
|
* 编辑外部货源号
|
|
* @param item st当前行对象
|
|
*/
|
|
editEnternalSn(item: any) {
|
|
const modalRef = this.modal.create({
|
|
nzWidth: '400px',
|
|
nzContent: SupplyManagementUpdateExternalSnComponent,
|
|
nzComponentParams: {
|
|
orderObject: item,
|
|
},
|
|
nzFooter: null,
|
|
nzClosable: false
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 重新指派
|
|
*/
|
|
assignedCar(item: any) {
|
|
const { id } = item;
|
|
console.log(id)
|
|
const modalRef = this.modal.create({
|
|
nzTitle: '指派熟车',
|
|
nzWidth: '1200px',
|
|
nzContent: SupplyManagementVehicleAssignedCarComponent,
|
|
nzComponentParams: {
|
|
i: item,
|
|
status: 'anew',
|
|
params: { id },
|
|
url: this.service.$api_save_assign_vehicle,
|
|
},
|
|
nzFooter: null,
|
|
|
|
});
|
|
modalRef.afterClose.subscribe((result) => {
|
|
if (result) {
|
|
}
|
|
});
|
|
}
|
|
nextOrder(item: any) {
|
|
this.router.navigate(['/supply-management/vehicle-amend', item.id], {
|
|
queryParams: {
|
|
sta: 2
|
|
}
|
|
});
|
|
}
|
|
goBack() {
|
|
window.history.go(-1);
|
|
}
|
|
|
|
}
|