This commit is contained in:
wangshiming
2022-03-02 09:36:42 +08:00
parent 59fe0d3b2f
commit 803e3f3f77
2 changed files with 148 additions and 147 deletions

View File

@ -41,8 +41,8 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
maxPiece: 99999,
maxDays: 999,
intervalDays: 999,
maxTimes: 999,
}
maxTimes: 999
};
sf1data: any; // 货源单设置回显
sf3data: any; // 货源单设置回显
sf4data: any; // 货源单设置回显
@ -117,11 +117,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
formatterRmb = (value: number): string => {
if (value === null || value === undefined) {
return '';
}else{
} else {
let value2 = Number(value).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
return `${value2}`;
}
};
parserRmb = (value: string): string => value.replace('¥', '').replace(',', '');
@ -154,8 +153,8 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
console.log(q === ' ')
let str =q.replace(/^\s+|\s+$/g,"");
console.log(q === ' ');
let str = q.replace(/^\s+|\s+$/g, '');
if (str) {
return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: str })
@ -166,9 +165,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}
},
change: (q: any) => {
let str =q.replace(/^\s+|\s+$/g,"");
let str = q.replace(/^\s+|\s+$/g, '');
if (str) {
this.getRegionCode(str);
this.payChange();
}
}
} as SFSelectWidgetSchema
@ -715,29 +715,28 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
const receiptPay = this.sf7.value.receiptPay || 0;
const oilCardPay = 0;
const subtotal = prePay + toPay + receiptPay;
console.log(this?.sf1.value?.enterpriseInfoName)
if(this?.sf1.value?.enterpriseInfoName) {
console.log(this?.sf1.value?.enterpriseInfoName);
if (this?.sf1.value?.enterpriseInfoName) {
console.log('5555');
}
console.log(this?.sf1.value?.enterpriseInfoId)
console.log(this?.sf1data?.enterpriseInfoId)
console.log(this?.sf1?.value?.enterpriseInfoName ? this?.sf1?.value?.enterpriseInfoName : this?.sf1data?.enterpriseInfoId || '')
console.log(this?.sf1.value?.enterpriseInfoId);
console.log(this?.sf1data?.enterpriseInfoId);
console.log(this?.sf1?.value?.enterpriseInfoName ? this?.sf1?.value?.enterpriseInfoName : this?.sf1data?.enterpriseInfoId || '');
const params = {
shipperId: this?.sf1?.value?.shipperAppUserId,
enterpriseInfoId: this?.sf1data?.enterpriseInfoId || '',
enterpriseInfoId: this?.sf1data?.enterpriseInfoId || '',
totalFreight: subtotal,
fuelCardAmount: oilCardPay,
resourcetype: '1'
};
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
if (res) {
console.log(res)
console.log(res);
this.sf7.setValue('/appendFee', res.surcharge);
this.sf7.setValue('/subtotal', subtotal);
this.sf7.setValue('/total', subtotal + res.surcharge);
let items = this?.sf1data?.enterpriseInfoId || '';
console.log(items)
let items = this?.sf1data?.enterpriseInfoId || '';
console.log(items);
this.service
.request(
this.service.$api_getAdditionalRate +
@ -782,9 +781,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.service.limitKeys.piece,
this.service.limitKeys.maxDays,
this.service.limitKeys.intervalDays,
this.service.limitKeys.maxTimes,
this.service.limitKeys.maxTimes
];
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe((res) => {
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe(res => {
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys.weight)[0].itemValue;
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys.volume)[0].itemValue;
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys.piece)[0].itemValue;
@ -797,9 +796,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
maxPiece: Number(maxPiece),
maxDays: Number(maxDays),
intervalDays: Number(intervalDays),
maxTimes: Number(maxTimes),
}
})
maxTimes: Number(maxTimes)
};
});
}
subStartInfo(event: any, index: number) {
this.startInfo.splice(index, 1);
@ -921,7 +920,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.service.msgSrv.warning('总费用不能为0');
return;
}
const num = (Number(this.validateForm1.value.unloadingTime) - Number(this.validateForm1.value.loadingTime))/(24*60*60*1000);
const num = (Number(this.validateForm1.value.unloadingTime) - Number(this.validateForm1.value.loadingTime)) / (24 * 60 * 60 * 1000);
if (num > this.limitValues.maxDays) {
this.service.msgSrv.error(`当前计划装卸货时间间隔已超出限定值【${this.limitValues.maxDays}天】`);
return;
@ -1019,7 +1018,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
nzContent: TranAgreementComponent,
nzWidth: 900,
nzFooter: null,
nzComponentParams: {Object: params,}
nzComponentParams: { Object: params }
});
modalRef.afterClose.subscribe(result => {
if (result) {
@ -1028,8 +1027,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
});
}
// 提交
submit(submitType?: string,params?: any): void {
submit(submitType?: string, params?: any): void {
// const params: any = {
// ...this.sf1.value,
// ...this.sf5.value,
@ -1249,7 +1247,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.sf3data.goodsName1 = res?.goodsInfoVOList[0]?.goodsName || '';
}
this.changeGoodsType(this.sf3data.goodsTypeId, { label: this.sf3data.goodsTypeName, value: this.sf3data.goodsTypeId });
if (res?.loadingTime) {
this.loadingTime = res?.loadingTime;
}
@ -1279,7 +1277,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
goodsValue: res?.goodsValue || '',
insurancePremium: res?.insurancePremium || '',
insuranceRate: res?.insuranceRate || '',
insurancePackagedGoods: res?.insurancePackagedGoods || '',
insurancePackagedGoods: res?.insurancePackagedGoods || ''
};
this.sf6data = {
stateReceipt: res?.stateReceipt,
@ -1356,14 +1354,14 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}
});
}
// 不可选择的时间
disabledDateStart = (current: Date): boolean => {
// 不可选择的时间
disabledDateStart = (current: Date): boolean => {
let d = new Date();
let year = d.getFullYear();
let month = d.getMonth();
let date = d.getDate();
let hours = d.getHours();
let mydate = new Date(year, month, date + this.limitValues.maxDays,hours+1);
let mydate = new Date(year, month, date + this.limitValues.maxDays, hours + 1);
return differenceInCalendarDays(new Date(), current) > 0 || new Date(current) > mydate;
};
// 装卸货地址互换

View File

@ -66,10 +66,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.validateForm1 = fb.group({
loadAddress0: [null, [Validators.required]],
loadName0: [null, [Validators.required]],
loadPhone0: [null, [Validators.required,Validators.pattern('^[0-9]*$')]],
loadPhone0: [null, [Validators.required, Validators.pattern('^[0-9]*$')]],
unloadAddress0: [null, [Validators.required]],
unloadName0: [null, [Validators.required]],
unloadPhone0: [null, [Validators.required,Validators.pattern('^[0-9]*$')]],
unloadPhone0: [null, [Validators.required, Validators.pattern('^[0-9]*$')]],
loadingTime: [null, []],
unloadingTime: [null, []]
});
@ -90,7 +90,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
@ViewChild('sf5', { static: false }) sf5!: SFComponent;
schema5: SFSchema = {};
ui5!: SFUISchema;
@ViewChild('sf55', { static: false }) sf55!: SFComponent;
schema55: SFSchema = {};
ui55!: SFUISchema;
@ -108,17 +108,16 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
maxPiece: 99999,
maxDays: 999,
intervalDays: 999,
maxTimes: 999,
}
maxTimes: 999
};
formatterRmb = (value: number): string => {
if (value === null || value === undefined) {
return '';
}else{
} else {
let value2 = Number(value).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
return `${value2}`;
}
};
parserRmb = (value: string): string => value.replace('¥', '').replace(',', '');
// 页面初始化
@ -146,8 +145,8 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
console.log(q === ' ')
let str =q.replace(/^\s+|\s+$/g,"");
console.log(q === ' ');
let str = q.replace(/^\s+|\s+$/g, '');
if (str) {
return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: str })
@ -158,11 +157,12 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
}
},
change: (q: any) => {
let str =q.replace(/^\s+|\s+$/g,"");
let str = q.replace(/^\s+|\s+$/g, '');
if (str) {
this.getRegionCode(str);
this.getRegionCode(str);
this.payChange();
}
},
}
} as SFSelectWidgetSchema
},
enterpriseProjectId: {
@ -189,7 +189,8 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
widget: 'select',
placeholder: '请选择',
allowClear: true,
asyncData: () => this.shipperSrv.getNetworkFreightForwarder()
asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
change: () => this.payChange()
}
},
externalResourceCode: {
@ -237,7 +238,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
} as SFSelectWidgetSchema
}
},
required: ['shipperAppUserId', 'enterpriseProjectId', 'enterpriseInfoName', ]
required: ['shipperAppUserId', 'enterpriseProjectId', 'enterpriseInfoName']
};
this.ui1 = {
'*': {
@ -343,7 +344,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
title: '',
ui: {
widget: 'custom',
placeholder: '请输入',
placeholder: '请输入'
}
},
number: {
@ -351,7 +352,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
title: '',
ui: {
widget: 'custom',
placeholder: '请输入',
placeholder: '请输入'
}
},
carModel: {
@ -399,7 +400,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
$carModel: {
spanLabelFixed: 100,
grid: { span: 8 }
},
}
};
}
@ -416,7 +417,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
map((res: any) => {
return [...res];
})
)
);
},
change: (tag: any, org: any) => {
this.getInsurersPrice(tag);
@ -679,9 +680,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.service.limitKeys.piece,
this.service.limitKeys.maxDays,
this.service.limitKeys.intervalDays,
this.service.limitKeys.maxTimes,
this.service.limitKeys.maxTimes
];
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe((res) => {
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe(res => {
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys.weight)[0].itemValue;
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys.volume)[0].itemValue;
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys.piece)[0].itemValue;
@ -694,33 +695,33 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
maxPiece: Number(maxPiece),
maxDays: Number(maxDays),
intervalDays: Number(intervalDays),
maxTimes: Number(maxTimes),
}
})
maxTimes: Number(maxTimes)
};
});
}
// 不可选择的时间
disabledDateStart = (current: Date): boolean => {
return differenceInCalendarDays(new Date(), current) > 0;
};
/**
* 自定义校验数据
* @param val
*/
customValidator(val: number) {
if (this.isEmpty(val)) {
return [{ keyword: 'required', message: '不能为空' }];
} else {
if (val <= 0) {
return [{ keyword: 'required', message: '数值需大于0' }];
}
return [];
// 不可选择的时间
disabledDateStart = (current: Date): boolean => {
return differenceInCalendarDays(new Date(), current) > 0;
};
/**
* 自定义校验数据
* @param val
*/
customValidator(val: number) {
if (this.isEmpty(val)) {
return [{ keyword: 'required', message: '不能为空' }];
} else {
if (val <= 0) {
return [{ keyword: 'required', message: '数值需大于0' }];
}
return [];
}
isEmpty(val: any) {
return val === undefined || val === null || val.toString().trim() === '';
}
}
isEmpty(val: any) {
return val === undefined || val === null || val.toString().trim() === '';
}
// 获取城市列表
getRegionCode(regionCode: any) {
console.log(regionCode);
@ -753,14 +754,19 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
resourcetype: '1'
};
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
console.log('999')
console.log(this?.sf1.value)
console.log('999');
console.log(this?.sf1.value);
if (res) {
this.sf7.setValue('/appendFee', res.surcharge);
this.sf7.setValue('/subtotal', subtotal);
this.sf7.setValue('/total', subtotal + res.surcharge);
this.service
.request(this.service.$api_getAdditionalRate + `?shipperId=${this?.sf1.value?.shipperAppUserId || ''}&enterpriseInfoId=${this?.sf1.value?.enterpriseInfoName || ''}&resourcetype='1'`)
.request(
this.service.$api_getAdditionalRate +
`?shipperId=${this?.sf1.value?.shipperAppUserId || ''}&enterpriseInfoId=${
this?.sf1.value?.enterpriseInfoName || ''
}&resourcetype='1'`
)
.subscribe(res => {
if (res) {
this.currentRate = res.rate * 100;
@ -872,7 +878,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.service.msgSrv.warning('总费用不能为0');
return;
}
const num = (Number(this.validateForm1.value.unloadingTime) - Number(this.validateForm1.value.loadingTime))/(24*60*60*1000);
const num = (Number(this.validateForm1.value.unloadingTime) - Number(this.validateForm1.value.loadingTime)) / (24 * 60 * 60 * 1000);
if (num > this.limitValues.maxDays) {
this.service.msgSrv.error(`当前计划装卸货时间间隔已超出限定值【${this.limitValues.maxDays}天】`);
return;
@ -908,81 +914,79 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
}
});
}
// 提交前协议弹窗
agreementConfirm(submitType?: string) {
//装卸货信息
const LoadingList = this.startInfo.concat(this.endInfo);
// 提交前协议弹窗
agreementConfirm(submitType?: string) {
//装卸货信息
const LoadingList = this.startInfo.concat(this.endInfo);
// 货物信息
const sf3Values = { ...this.sf3.value };
if (sf3Values.goodsTypeName === '其它') {
sf3Values.goodsName = sf3Values.goodsName1;
delete sf3Values.goodsName1;
}
if (this.sf4.value.carModel.includes('999')) {
this.sf4.value.carModel = ['999'];
}
if (this.sf4.value.carLength.includes('999')) {
this.sf4.value.carLength = ['999'];
}
const goodsInfoVOList = [
{
...sf3Values,
...this.sf4.value,
carModel: this.sf4.value.carModel.join(','),
carLength: this.sf4.value.carLength.join(',')
}
];
// 货物信息
const sf3Values = { ...this.sf3.value };
if (sf3Values.goodsTypeName === '其它') {
sf3Values.goodsName = sf3Values.goodsName1;
delete sf3Values.goodsName1;
}
if (this.sf4.value.carModel.includes('999')) {
this.sf4.value.carModel = ['999'];
}
if (this.sf4.value.carLength.includes('999')) {
this.sf4.value.carLength = ['999'];
}
const goodsInfoVOList = [
{
...sf3Values,
...this.sf4.value,
carModel: this.sf4.value.carModel.join(','),
carLength: this.sf4.value.carLength.join(',')
}
];
// 运费信息
const expenseList = [
{ expenseCode: 'PRE', expenseName: '预付', price: this.sf7.value.prePay || 0, id: this.sf7data?.prePayId || '' },
{ expenseCode: 'RECE', expenseName: '到付', price: this.sf7.value.toPay || 0, id: this.sf7data?.toPayId || '' },
{ expenseCode: 'BACK', expenseName: '回单付', price: this.sf7.value.receiptPay || 0, id: this.sf7data?.receiptPayId || '' }
];
console.log(this.sf55?.value)
// const params = {
// id: '',
// ...this.sf1.value,
// unLoadingPlaceDTOList: LoadingList,
// unloadingTime: format(this.validateForm1.value?.unloadingTime, 'yyyy-MM-dd HH:mm:ss'),
// loadingTime: format(this.validateForm1.value?.loadingTime, 'yyyy-MM-dd HH:mm:ss'),
// goodsInfoDTOList: goodsInfoList,
// ...this.sf5.value,
// ...this.sf6.value,
// expenseDTOList: expenseList,
// paymentDays: this.sf7.value?.paymentDays,
// insuranceType:this.sf55?.value?.insuranceType,
// };
const params = {
id: '',
...this.sf1.value,
unLoadingPlaceDTOList: LoadingList,
unloadingTime: format(this.validateForm1.value.unloadingTime, 'yyyy-MM-dd HH:mm:ss'),
loadingTime: format(this.validateForm1.value.loadingTime, 'yyyy-MM-dd HH:mm:ss'),
goodsInfoDTOList: goodsInfoVOList,
...this.sf5.value,
...this.sf6.value,
expenseDTOList: expenseList,
paymentDays: this.sf7.value.paymentDays
};
console.log(params)
const modalRef = this.modalService.create({
nzTitle: '运输协议',
nzContent: TranAgreementComponent,
nzWidth: 900,
nzFooter: null,
nzComponentParams: {Object: params,}
});
modalRef.afterClose.subscribe(result => {
if (result) {
this.submit(submitType, params);
}
});
}
console.log(this.sf55?.value);
// const params = {
// id: '',
// ...this.sf1.value,
// unLoadingPlaceDTOList: LoadingList,
// unloadingTime: format(this.validateForm1.value?.unloadingTime, 'yyyy-MM-dd HH:mm:ss'),
// loadingTime: format(this.validateForm1.value?.loadingTime, 'yyyy-MM-dd HH:mm:ss'),
// goodsInfoDTOList: goodsInfoList,
// ...this.sf5.value,
// ...this.sf6.value,
// expenseDTOList: expenseList,
// paymentDays: this.sf7.value?.paymentDays,
// insuranceType:this.sf55?.value?.insuranceType,
// };
const params = {
id: '',
...this.sf1.value,
unLoadingPlaceDTOList: LoadingList,
unloadingTime: format(this.validateForm1.value.unloadingTime, 'yyyy-MM-dd HH:mm:ss'),
loadingTime: format(this.validateForm1.value.loadingTime, 'yyyy-MM-dd HH:mm:ss'),
goodsInfoDTOList: goodsInfoVOList,
...this.sf5.value,
...this.sf6.value,
expenseDTOList: expenseList,
paymentDays: this.sf7.value.paymentDays
};
console.log(params);
const modalRef = this.modalService.create({
nzTitle: '运输协议',
nzContent: TranAgreementComponent,
nzWidth: 900,
nzFooter: null,
nzComponentParams: { Object: params }
});
modalRef.afterClose.subscribe(result => {
if (result) {
this.submit(submitType, params);
}
});
}
// 提交
submit(submitType?: string,params?: any): void {
submit(submitType?: string, params?: any): void {
let reqUrl = this.service.$api_consignWhole;
if (submitType) {
if (submitType == 'assign') {
@ -1182,7 +1186,6 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
// 计算保价费金额
getInsurersPrice(insuranceType = this.sf5.value.insuranceType) {
if (this.sf5.value.goodsValue >= 50000 && this.totalDistance > 0) {
const params = {
insuranceType,
goodsValue: this.sf5.value.goodsValue,