Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
Taric Xin
2022-03-02 10:22:42 +08:00
4 changed files with 187 additions and 152 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,24 +715,32 @@ 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('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 || '');
const params = {
shipperId: this?.sf1.value?.shipperAppUserId,
enterpriseInfoId: this?.sf1.value?.enterpriseInfoName,
shipperId: this?.sf1?.value?.shipperAppUserId,
enterpriseInfoId: this?.sf1data?.enterpriseInfoId || '',
totalFreight: subtotal,
fuelCardAmount: oilCardPay,
resourcetype: '1'
};
this.service.request(this.service.$api_getCalculatedSurcharge, params).subscribe(res => {
console.log('999');
console.log(this.envCache);
if (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);
this.service
.request(
this.service.$api_getAdditionalRate +
`?shipperId=${this?.sf1.value?.shipperAppUserId || ''}&enterpriseInfoId=${this?.sf1.value?.enterpriseInfoName || ''}&resourcetype='1'`
`?shipperId=${this?.sf1?.value?.shipperAppUserId || ''}&enterpriseInfoId=${items}&resourcetype='1'`
)
.subscribe(res => {
if (res) {
@ -773,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;
@ -788,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);
@ -912,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;
@ -1010,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) {
@ -1019,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,
@ -1146,6 +1153,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}
this.sf1data = {
enterpriseInfoName: res?.enterpriseInfoName,
enterpriseInfoId: res?.enterpriseInfoId,
dispatchPhone: res?.dispatchPhone,
dispatchName: res?.dispatchName,
externalResourceCode: res?.externalResourceCode,
@ -1269,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,
@ -1353,7 +1361,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
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, []]
});
@ -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.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,9 +695,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
maxPiece: Number(maxPiece),
maxDays: Number(maxDays),
intervalDays: Number(intervalDays),
maxTimes: Number(maxTimes),
}
})
maxTimes: Number(maxTimes)
};
});
}
// 不可选择的时间
disabledDateStart = (current: Date): boolean => {
@ -747,20 +748,25 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
const subtotal = prePay + toPay + receiptPay;
const params = {
shipperId: this?.sf1.value?.shipperAppUserId,
enterpriseInfoId: this?.sf1.value?.enterpriseInfoName,
enterpriseInfoId: this?.sf1.value?.enterpriseInfoName || '',
totalFreight: subtotal,
fuelCardAmount: oilCardPay,
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;
@ -939,7 +945,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
{ 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)
console.log(this.sf55?.value);
// const params = {
// id: '',
// ...this.sf1.value,
@ -965,13 +971,13 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
expenseDTOList: expenseList,
paymentDays: this.sf7.value.paymentDays
};
console.log(params)
console.log(params);
const modalRef = this.modalService.create({
nzTitle: '运输协议',
nzContent: TranAgreementComponent,
nzWidth: 900,
nzFooter: null,
nzComponentParams: {Object: params,}
nzComponentParams: { Object: params }
});
modalRef.afterClose.subscribe(result => {
if (result) {
@ -980,9 +986,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
});
}
// 提交
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,

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-03 11:10:14
* @LastEditors : Shiming
* @LastEditTime : 2022-03-01 16:16:29
* @LastEditTime : 2022-03-02 09:46:36
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\model\\import-supply\\import-supply.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -28,7 +28,7 @@
</button>
</div>
</nz-upload>
<span style="color: #ff4d4f; font-size: 12px;margin-left: 10px;" (click)="downFile()">下载导入模板</span>
<span style="color: #ff4d4f; font-size: 12px;margin-left: 10px; cursor: pointer;" (click)="downFile()">下载导入模板</span>
<div style="color: #ff4d4f; font-size: 12px; margin-top: 5px; width: 400px">仅支持XLX / XLSX文件格式最多不能超过100行数据</div>
</ng-template>
</sf>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-03-01 15:13:03
* @LastEditors : Shiming
* @LastEditTime : 2022-03-01 16:18:58
* @LastEditTime : 2022-03-02 09:52:53
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\model\\import-supply\\import-supply.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -184,12 +184,36 @@ export class SupplyManagementImportSupplyComponent implements OnInit {
});
};
downFile() {
this.service.request(this.service.$api_exportGoodsResourceOperateTemplate).subscribe((res: any)=> {
console.log(res)
if(res) {
this.status = false
}
})
console.log('78')
// this.service.request(this.service.$api_exportGoodsResourceOperateTemplate).subscribe((res: any)=> {
// console.log('66')
// console.log(res)
// let aLink = document.createElement('a');
// const content = res;
// let blob = this.base64ToBlob(content); //new Blob([content]);
// let evt = document.createEvent("HTMLEvents");
// evt.initEvent("click", true, true);//initEvent 不加后两个参数在IE下会报错 事件类型,是否冒泡,是否阻止浏览器的默认行为
// aLink.download = '模板';
// aLink.href = URL.createObjectURL(blob);
// // aLink.dispatchEvent(evt);
// aLink.click();
// this.status = false
// })
this.service.downloadFile(this.service.$api_exportGoodsResourceOperateTemplate);
// window.location.href('')
}
//base64转blob
base64ToBlob(code: any) {
let parts = code.split(';base64,');
let contentType = parts[0].split(':')[1];
let raw = window.atob(parts[1]);
let rawLength = raw.length;
let uInt8Array = new Uint8Array(rawLength);
for (let i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], { type: contentType });
}
}