Files
bbq/src/app/routes/order-management/modal/vehicle/sure-depart/sure-depart.component.ts
wangshiming bcad306ae5 批量审核
2022-01-18 16:36:36 +08:00

318 lines
10 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Component, OnInit, ViewChild } from '@angular/core';
import {
SFComponent,
SFCustomWidgetSchema,
SFDateWidgetSchema,
SFNumberWidgetSchema,
SFRadioWidgetSchema,
SFSchema,
SFSelectWidgetSchema,
SFTextareaWidgetSchema,
SFUISchema,
SFUploadWidgetSchema
} from '@delon/form';
import { apiConf } from '@conf/api.conf';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { Observable, Observer } from 'rxjs';
import { WaybillManagementServe } from 'src/app/routes/waybill-management/services/waybill-management.service';
import { EAEnvironmentService, EADateUtil } from '@shared';
import { DatePipe } from '@angular/common';
@Component({
selector: 'app-order-management-vehicle-sure-depart',
templateUrl: './sure-depart.component.html',
styleUrls: ['./sure-depart.component.less'],
providers: [DatePipe]
})
export class VehicleSureDepartComponent implements OnInit {
record: any = {};
i: any;
Status: any;
data: any ={
weight: '',
volume: ''
};
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema: SFSchema = {};
ui: SFUISchema = {};
constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public http: _HttpClient, public service: WaybillManagementServe, private envSrv: EAEnvironmentService,private datePipe: DatePipe) {}
ngOnInit(): void {
this.initSF();
console.log(this.i)
this.data.weight = this.i?.weight
this.i.time = this.i.loadingTime;
}
initSF() {
if(this.Status === 1) {
this.schema = {
properties: {
time: {
type: 'string',
title: '装货时间',
format: 'date-time',
},
no4: {
type: 'string',
title: '',
ui: {
widget: 'text',
},
default: '单张大小不超过5M支持.jpg、.jpeg和 .png格式',
},
imgUrl1: {
type: 'string',
title: '装货凭证',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
showRequired: true,
} as SFUploadWidgetSchema,
},
imgUrl2: {
type: 'string',
title: '',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
showRequired: true,
} as SFUploadWidgetSchema,
}
},
required: ['reason']
};
} else {
this.schema = {
properties: {
time: {
type: 'string',
title: '装货时间',
format: 'date-time',
},
weight: {
type: 'string',
title: '装货重量',
ui: {
widget: 'custom',
}
},
volume: {
type: 'string',
title: '装货体积',
ui: {
widget: 'custom',
}
},
no4: {
type: 'string',
title: '',
ui: {
widget: 'text',
},
default: '单张大小不超过5M支持.jpg、.jpeg和 .png格式',
},
imgUrl1: {
type: 'string',
title: '装货凭证',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '提货单',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
showRequired: true,
} as SFUploadWidgetSchema,
},
imgUrl2: {
type: 'string',
title: '',
ui: {
widget: 'upload',
action: apiConf.fileUpload,
fileType: 'image/png,image/jpeg,image/jpg,image/gif',
limit: 1,
limitFileCount: 1,
resReName: 'data.fullFileWatermarkPath',
urlReName: 'data.fullFileWatermarkPath',
descriptionI18n: '人车货照片',
data: {
appId: this.envSrv.env.appId,
},
name: 'multipartFile',
beforeUpload: (file: any, fileList: any) => {
return new Observable((observer: Observer<boolean>) => {
const isLt1M = file.size / 1024 / 1024 < 5;
const fileType = 'image/png,image/jpeg';
if (fileType.indexOf(file.type) === -1) {
this.service.msgSrv.warning('图片格式不正确!');
observer.complete();
return;
}
if (!isLt1M) {
this.service.msgSrv.warning('图片大小超过5M!');
observer.complete();
return;
}
observer.next(isLt1M);
observer.complete();
});
},
multiple: false,
listType: 'picture-card',
showRequired: true,
} as SFUploadWidgetSchema,
}
},
required: ['time', 'weight']
};
}
this.ui = {
'*': {
spanLabelFixed: 100,
grid: { span: 20 }
},
$imgUrl1: { grid: { span: 12} },
$imgUrl2: { grid: { span: 12} },
};
}
save(value: any): void {
if(this.Status === 1) {
if(!value.time) {
this.service.msgSrv.warning('必填项为空!')
return;
}
const params = {
id: this.i.id,
imgUrl1: value.imgUrl1.data.fullFilePath,
imgUrl2: value.imgUrl2.data.fullFilePath,
time: value.time,
}
params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ')
this.service.request(this.service.$api_get_insertWholeStartCarInfo, params).subscribe((res) => {
if(res) {
this.service.msgSrv.success('确认发车成功!')
this.modal.destroy(true);
}
})
} else {
if(!value.time || !this.data.weight) {
this.service.msgSrv.warning('必填项为空!')
return;
}
console.log(value)
const params = {
id: this.i.id,
imgUrl1: value.imgUrl1.data.fullFilePath,
imgUrl2: value.imgUrl2.data.fullFilePath,
time: value.time,
volume: this.data.volume,
weight: this.data.weight
}
params.time = this.datePipe.transform(value.time, 'yyyy-MM-dd HH:mm:ss ')
this.service.request(this.service.$api_get_insertBulkStartCarInfo, params).subscribe((res) => {
if(res) {
this.service.msgSrv.success('确认发车成功!')
this.modal.destroy(true);
}
})
}
}
close(): void {
this.modal.destroy(true);
}
}