Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -2,9 +2,9 @@ | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-02-16 10:09:23 | ||||
|  * @Date         : 2022-03-14 14:17:38 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-02-16 10:14:29 | ||||
|  * @LastEditTime : 2022-03-25 16:22:32 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\carauth\\carauth.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -32,12 +32,16 @@ | ||||
|                 <div class="pa"><img width="190" src="/assets/images/vehicle/driverback.png" /></div> | ||||
|             </div> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="roadImg" let-me let-ui="ui" let-schema="schema"> | ||||
|             <img height="104" src="/assets/images/vehicle/road.png" class="borderImg" /> | ||||
|         </ng-template> | ||||
|         <ng-template sf-template="agreeImg" let-me let-ui="ui" let-schema="schema"> | ||||
|             <img height="104" src="/assets/images/vehicle/agreement.png" class="borderImg" /> | ||||
|         </ng-template> | ||||
|     </sf> | ||||
|     <img class="drivercard" height="104" src="/assets/images/vehicle/car.png" /> | ||||
|     <img class="agreement" height="104" src="/assets/images/vehicle/agreement.png" /> | ||||
|     <img class="jopcard" height="104" src="/assets/images/vehicle/road.png" /> | ||||
| </div> | ||||
|     <img class="drivercard borderImg" height="104" src="/assets/images/vehicle/car.png" /> | ||||
|      | ||||
| <div class="modal-footer"> | ||||
|     <button nz-button type="button" (click)="close()">关闭</button> | ||||
|     <button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!sf?.valid">确定</button> | ||||
|     <button nz-button type="button" nzType="primary" (click)="submitForm()" [disabled]="!(sf?.valid && i.flag !== 'view')" [nzLoading]="service.http.loading">确定</button> | ||||
| </div> | ||||
| @ -75,7 +75,7 @@ | ||||
| .pa { | ||||
|     position: absolute; | ||||
|     top: 35px; | ||||
|     left: 150px; | ||||
|     left: 140px; | ||||
| } | ||||
|  | ||||
| .tips { | ||||
| @ -96,7 +96,7 @@ | ||||
| .drivercard{ | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     left: 330px; | ||||
|     left: 325px; | ||||
|     border: solid 1px #ebf0fb; | ||||
| } | ||||
| .jopcard{ | ||||
| @ -119,5 +119,11 @@ | ||||
|             color: black; | ||||
|             resize:none; | ||||
|         } | ||||
|         .setCustom .ant-form-item-control{ | ||||
|             margin-left: -100px !important | ||||
|         } | ||||
|         .borderImg{ | ||||
|             border: solid 1px #ebf0fb; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -24,38 +24,37 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|   showJopFlag = false; | ||||
|   companyData: any = {}; | ||||
|   detailData: any = {}; | ||||
|   carNo = ''; | ||||
|   carNo = '' | ||||
|    | ||||
|   constructor( | ||||
|     private modal: NzModalRef, | ||||
|     public service: VehicleService, | ||||
|     private envSrv: EAEnvironmentService, | ||||
|     private eaCacheSrv: EACacheService | ||||
|   ) {} | ||||
|     private eaCacheSrv: EACacheService, | ||||
|   ) { } | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     console.log(this.i) | ||||
|     this.initData(); | ||||
|     this.initSF(); | ||||
|     this.initData() | ||||
|     this.initSF() | ||||
|   } | ||||
|   initData() { | ||||
|     if (this.i?.id) { | ||||
|       this.companyData = this.eaCacheSrv.get(cacheConf.env); | ||||
|     if (this.i.id) { | ||||
|       this.companyData = this.eaCacheSrv.get(cacheConf.env) | ||||
|       const params = { | ||||
|         id: this.i?.id | ||||
|       }; | ||||
|         id: this.i.id, | ||||
|       } | ||||
|       this.service.request(this.service.$api_shipperCarGet, params).subscribe(res => { | ||||
|         this.detailData = res; | ||||
|         this.detailData.isSelf = res.isSelf ? 1 : 0; | ||||
|         this.detailData.isTrailer = res.isTrailer ? 1 : 0; | ||||
|         this.detailData = res | ||||
|         this.detailData.isSelf = res.isSelf ? 1 : 0 | ||||
|         this.detailData.isTrailer = res.isTrailer ? 1 : 0 | ||||
|         this.detailData.carFrontPhotoWatermark = [ | ||||
|           { | ||||
|             uid: -1, | ||||
|             name: 'LOGO', | ||||
|             status: 'done', | ||||
|             url: this.detailData.carFrontPhotoWatermark, | ||||
|             response: this.detailData.carFrontPhotoWatermark | ||||
|           } | ||||
|             response: this.detailData.carFrontPhotoWatermark, | ||||
|           }, | ||||
|         ]; | ||||
|         this.detailData.carProtocalWatermark = [ | ||||
|           { | ||||
| @ -63,8 +62,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             name: 'LOGO', | ||||
|             status: 'done', | ||||
|             url: this.detailData.carProtocalWatermark, | ||||
|             response: this.detailData.carProtocalWatermark | ||||
|           } | ||||
|             response: this.detailData.carProtocalWatermark, | ||||
|           }, | ||||
|         ]; | ||||
|         this.detailData.certificatePhotoFrontWatermark = [ | ||||
|           { | ||||
| @ -72,8 +71,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             name: 'LOGO', | ||||
|             status: 'done', | ||||
|             url: this.detailData.certificatePhotoFrontWatermark, | ||||
|             response: this.detailData.certificatePhotoFrontWatermark | ||||
|           } | ||||
|             response: this.detailData.certificatePhotoFrontWatermark, | ||||
|           }, | ||||
|         ]; | ||||
|         this.detailData.certificatePhotoBackWatermark = [ | ||||
|           { | ||||
| @ -81,8 +80,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             name: 'LOGO', | ||||
|             status: 'done', | ||||
|             url: this.detailData.certificatePhotoBackWatermark, | ||||
|             response: this.detailData.certificatePhotoBackWatermark | ||||
|           } | ||||
|             response: this.detailData.certificatePhotoBackWatermark, | ||||
|           }, | ||||
|         ]; | ||||
|         this.detailData.roadTransportPhotoWatermark = [ | ||||
|           { | ||||
| @ -90,10 +89,10 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             name: 'LOGO', | ||||
|             status: 'done', | ||||
|             url: this.detailData.roadTransportPhotoWatermark, | ||||
|             response: this.detailData.roadTransportPhotoWatermark | ||||
|           } | ||||
|             response: this.detailData.roadTransportPhotoWatermark, | ||||
|           }, | ||||
|         ]; | ||||
|       }); | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
|   initSF() { | ||||
| @ -104,7 +103,7 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           title: '车头照照片', | ||||
|           ui: { | ||||
|             action: apiConf.fileUpload, | ||||
|             fileType: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             accept: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             limit: 1, | ||||
|             limitFileCount: 1, | ||||
|             resReName: 'data.fullFileWatermarkPath', | ||||
| @ -112,21 +111,21 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'upload', | ||||
|             descriptionI18n: '请上传车头照照片,支持JPG、PNG格式,文件小于5M。', | ||||
|             data: { | ||||
|               appId: this.envSrv.env.appId | ||||
|               appId: this.envSrv.env.appId, | ||||
|             }, | ||||
|             name: 'multipartFile', | ||||
|             multiple: false, | ||||
|             listType: 'picture-card', | ||||
|             change: (args: any) => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.detailData.carFrontPhoto = args.file.response.data.fullFilePath; | ||||
|                 this.detailData.carFrontPhoto = args.file.response.data.fullFilePath | ||||
|               } | ||||
|             }, | ||||
|             beforeUpload: (file: any, _fileList: any) => { | ||||
|               return new Observable((observer: Observer<boolean>) => { | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 2; | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 5; | ||||
|                 if (!isLt2M) { | ||||
|                   this.service.msgSrv.warning('图片大小超过2M!'); | ||||
|                   this.service.msgSrv.warning('图片大小超过5M!'); | ||||
|                   observer.complete(); | ||||
|                   return; | ||||
|                 } | ||||
| @ -134,7 +133,7 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|                 observer.complete(); | ||||
|               }); | ||||
|             }, | ||||
|             // previewFile: (file: NzUploadFile) => of(file.url) | ||||
|             previewFile: (file: NzUploadFile) => of(file.url), | ||||
|           } | ||||
|         }, | ||||
|         carNo: { | ||||
| @ -142,8 +141,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           maxLength: 9, | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         carNoColor: { | ||||
|           title: '车牌颜色', | ||||
| @ -151,9 +150,9 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'car:color' }, | ||||
|             placeholder: '请选择车型', | ||||
|             containsAllLabel: false | ||||
|           } as SFSelectWidgetSchema | ||||
|             placeholder: '请选择车牌颜色', | ||||
|             containsAllLabel:false, | ||||
|           } as SFSelectWidgetSchema, | ||||
|         }, | ||||
|         carModel: { | ||||
|           title: '车型', | ||||
| @ -162,8 +161,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'car:model' }, | ||||
|             placeholder: '请选择车型', | ||||
|             containsAllLabel: false | ||||
|           } as SFSelectWidgetSchema | ||||
|             containsAllLabel:false, | ||||
|           } as SFSelectWidgetSchema, | ||||
|         }, | ||||
|         carLength: { | ||||
|           title: '车长', | ||||
| @ -172,8 +171,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'car:length' }, | ||||
|             placeholder: '请选择车长', | ||||
|             containsAllLabel: false | ||||
|           } as SFSelectWidgetSchema | ||||
|             containsAllLabel:false, | ||||
|           } as SFSelectWidgetSchema, | ||||
|         }, | ||||
|         carLoad: { | ||||
|           title: '载重', | ||||
| @ -181,10 +180,11 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           maxLength: 6, | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             change: (val: any) => { | ||||
|               const value = val.replace(/\D/g, ''); | ||||
|               this.sf.setValue('/carLoad', value); | ||||
|             } | ||||
|             addOnAfter: '吨', | ||||
|             change: (val: any) =>{ | ||||
|               const value =  val.replace(/\D/g,'') | ||||
|               this.sf.setValue('/carLoad', value) | ||||
|             }, | ||||
|           } | ||||
|         }, | ||||
|         isSelf: { | ||||
| @ -192,11 +192,11 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           enum: [ | ||||
|             { label: '否', value: 0 }, | ||||
|             { label: '是', value: 1 } | ||||
|             { label: '是', value: 1 }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择' | ||||
|             placeholder: '请选择', | ||||
|           } | ||||
|         }, | ||||
|         isTrailer: { | ||||
| @ -204,11 +204,11 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           enum: [ | ||||
|             { label: '否', value: 0 }, | ||||
|             { label: '是', value: 1 } | ||||
|             { label: '是', value: 1 }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择' | ||||
|             placeholder: '请选择', | ||||
|           } | ||||
|         }, | ||||
|         carProtocalWatermark: { | ||||
| @ -216,7 +216,7 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           title: '挂靠协议', | ||||
|           ui: { | ||||
|             action: apiConf.fileUpload, | ||||
|             fileType: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             accept: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             limit: 1, | ||||
|             limitFileCount: 1, | ||||
|             resReName: 'data.fullFileWatermarkPath', | ||||
| @ -224,14 +224,14 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'upload', | ||||
|             descriptionI18n: '请上传挂靠协议,支持JPG、PNG格式,文件小于5M。', | ||||
|             data: { | ||||
|               appId: this.envSrv.env.appId | ||||
|               appId: this.envSrv.env.appId, | ||||
|             }, | ||||
|             name: 'multipartFile', | ||||
|             multiple: false, | ||||
|             listType: 'picture-card', | ||||
|             change: (args: any) => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath; | ||||
|                 this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath | ||||
|               } | ||||
|             }, | ||||
|             beforeUpload: (file: any, _fileList: any) => { | ||||
| @ -246,31 +246,39 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|                 observer.complete(); | ||||
|               }); | ||||
|             }, | ||||
|             // previewFile: (file: NzUploadFile) => of(file.url) | ||||
|             previewFile: (file: NzUploadFile) => of(file.url), | ||||
|           } | ||||
|         }, | ||||
|         agreeImg: { | ||||
|           title: '', | ||||
|           type: 'boolean', | ||||
|           // enum: [{ label: '长期', value: true }], | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|           } | ||||
|         }, | ||||
|         titleA: { | ||||
|           title: '行驶证信息(必填)', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'text' | ||||
|             widget: 'text', | ||||
|           }, | ||||
|           default: '照片上传后会自动识别文字并填充下列内容栏' | ||||
|           default: '照片上传后会自动识别文字并填充下列内容栏', | ||||
|         }, | ||||
|         tipsA: { | ||||
|           title: '', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             offsetControl: 6 | ||||
|           } | ||||
|             offsetControl: 6, | ||||
|           }, | ||||
|         }, | ||||
|         certificatePhotoFrontWatermark: { | ||||
|           type: 'string', | ||||
|           title: '行驶证首页照片', | ||||
|           ui: { | ||||
|             action: apiConf.fileUpload, | ||||
|             fileType: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             accept: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             limit: 1, | ||||
|             limitFileCount: 1, | ||||
|             resReName: 'data.fullFileWatermarkPath', | ||||
| @ -278,24 +286,24 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'upload', | ||||
|             descriptionI18n: '请上传行驶证首页照片,支持JPG、PNG格式,文件小于5M。照片信息缺失、拼凑、过度PS、模糊不清,都不会通过审核。', | ||||
|             data: { | ||||
|               appId: this.envSrv.env.appId | ||||
|               appId: this.envSrv.env.appId, | ||||
|             }, | ||||
|             name: 'multipartFile', | ||||
|             multiple: false, | ||||
|             listType: 'picture-card', | ||||
|             change: (args: any) => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath; | ||||
|                 this.detailData.certificatePhotoFront = args.file.response.data.fullFilePath | ||||
|                 this.checkCarCard(args.file.response.data.fullFilePath, 'front'); | ||||
|               } else { | ||||
|                 this.detailData.certificatePhotoFront = ''; | ||||
|                 this.detailData.certificatePhotoFront = '' | ||||
|               } | ||||
|             }, | ||||
|             beforeUpload: (file: any, _fileList: any) => { | ||||
|               return new Observable((observer: Observer<boolean>) => { | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 2; | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 5; | ||||
|                 if (!isLt2M) { | ||||
|                   this.service.msgSrv.warning('图片大小超过2M!'); | ||||
|                   this.service.msgSrv.warning('图片大小超过5M!'); | ||||
|                   observer.complete(); | ||||
|                   return; | ||||
|                 } | ||||
| @ -303,7 +311,7 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|                 observer.complete(); | ||||
|               }); | ||||
|             }, | ||||
|             // previewFile: (file: NzUploadFile) => of(file.url) | ||||
|             previewFile: (file: NzUploadFile) => of(file.url), | ||||
|           } | ||||
|         }, | ||||
|         tipsB: { | ||||
| @ -311,15 +319,15 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             offsetControl: 6 | ||||
|           } | ||||
|             offsetControl: 6, | ||||
|           }, | ||||
|         }, | ||||
|         certificatePhotoBackWatermark: { | ||||
|           type: 'string', | ||||
|           title: '行驶证副页照片', | ||||
|           ui: { | ||||
|             action: apiConf.fileUpload, | ||||
|             fileType: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             accept: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             limit: 1, | ||||
|             limitFileCount: 1, | ||||
|             resReName: 'data.fullFileWatermarkPath', | ||||
| @ -327,24 +335,24 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'upload', | ||||
|             descriptionI18n: '请上传行驶证副业照片,支持JPG、PNG格式,文件小于5M。', | ||||
|             data: { | ||||
|               appId: this.envSrv.env.appId | ||||
|               appId: this.envSrv.env.appId, | ||||
|             }, | ||||
|             name: 'multipartFile', | ||||
|             multiple: false, | ||||
|             listType: 'picture-card', | ||||
|             change: (args: any) => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath; | ||||
|                 this.detailData.certificatePhotoBack = args.file.response.data.fullFilePath | ||||
|                 this.checkCarCard(args.file.response.data.fullFilePath, 'back'); | ||||
|               } else { | ||||
|                 this.detailData.certificatePhotoBack = ''; | ||||
|                 this.detailData.certificatePhotoBack = '' | ||||
|               } | ||||
|             }, | ||||
|             beforeUpload: (file: any, _fileList: any) => { | ||||
|               return new Observable((observer: Observer<boolean>) => { | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 2; | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 5; | ||||
|                 if (!isLt2M) { | ||||
|                   this.service.msgSrv.warning('图片大小超过2M!'); | ||||
|                   this.service.msgSrv.warning('图片大小超过5M!'); | ||||
|                   observer.complete(); | ||||
|                   return; | ||||
|                 } | ||||
| @ -352,7 +360,7 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|                 observer.complete(); | ||||
|               }); | ||||
|             }, | ||||
|             // previewFile: (file: NzUploadFile) => of(file.url) | ||||
|             previewFile: (file: NzUploadFile) => of(file.url), | ||||
|           } | ||||
|         }, | ||||
|         driverLicenseRegisterTime: { | ||||
| @ -360,16 +368,16 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           format: 'date', | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         driverLicenseGetTime: { | ||||
|           title: '行驶证发证日期', | ||||
|           type: 'string', | ||||
|           format: 'date', | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         driverLicenseEndTime: { | ||||
|           title: '行驶证到期日期', | ||||
| @ -377,24 +385,24 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           format: 'date', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         driverLicenseSigningOrg: { | ||||
|           title: '行驶证签发机关', | ||||
|           type: 'string', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         carDistinguishCode: { | ||||
|           title: '车辆识别代码', | ||||
|           type: 'string', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         useNature: { | ||||
|           title: '使用性质', | ||||
| @ -402,42 +410,42 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           maxLength: 30, | ||||
|           enum: [ | ||||
|             { label: '非营运', value: 0 }, | ||||
|             { label: '营运', value: 1 } | ||||
|             { label: '营运', value: 1 }, | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择' | ||||
|           } | ||||
|             placeholder: '请选择', | ||||
|           }, | ||||
|         }, | ||||
|         curbWeight: { | ||||
|           title: '整备质量', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         carOwner: { | ||||
|           title: '所有人', | ||||
|           type: 'string', | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         titleB: { | ||||
|           title: '道运证(选填)', | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'text' | ||||
|             widget: 'text', | ||||
|           }, | ||||
|           default: '照片上传后会自动识别文字并填充下列内容栏' | ||||
|           default: '照片上传后会自动识别文字并填充下列内容栏', | ||||
|         }, | ||||
|         roadTransportPhotoWatermark: { | ||||
|           type: 'string', | ||||
|           title: '道运证照片', | ||||
|           ui: { | ||||
|             action: apiConf.fileUpload, | ||||
|             fileType: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             accept: 'image/png,image/jpeg,image/jpg,image/gif', | ||||
|             limit: 1, | ||||
|             limitFileCount: 1, | ||||
|             resReName: 'data.fullFileWatermarkPath', | ||||
| @ -445,24 +453,24 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|             widget: 'upload', | ||||
|             descriptionI18n: '请上传道运证照片,支持JPG、PNG格式,文件小于5M。蓝牌绿牌车辆,可不用传道运证', | ||||
|             data: { | ||||
|               appId: this.envSrv.env.appId | ||||
|               appId: this.envSrv.env.appId, | ||||
|             }, | ||||
|             name: 'multipartFile', | ||||
|             multiple: false, | ||||
|             listType: 'picture-card', | ||||
|             change: (args: any) => { | ||||
|               if (args.type === 'success') { | ||||
|                 this.detailData.roadTransportPhoto = args.file.response.data.fullFilePath; | ||||
|                 this.detailData.roadTransportPhoto = args.file.response.data.fullFilePath | ||||
|                 this.checkTransCard(args.file.response.data.fullFilePath); | ||||
|               } else { | ||||
|                 this.detailData.roadTransportPhoto = ''; | ||||
|                 this.detailData.roadTransportPhoto = '' | ||||
|               } | ||||
|             }, | ||||
|             beforeUpload: (file: any, _fileList: any) => { | ||||
|               return new Observable((observer: Observer<boolean>) => { | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 2; | ||||
|                 const isLt2M = file.size / 1024 / 1024 < 5; | ||||
|                 if (!isLt2M) { | ||||
|                   this.service.msgSrv.warning('图片大小超过2M!'); | ||||
|                   this.service.msgSrv.warning('图片大小超过5M!'); | ||||
|                   observer.complete(); | ||||
|                   return; | ||||
|                 } | ||||
| @ -470,7 +478,15 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|                 observer.complete(); | ||||
|               }); | ||||
|             }, | ||||
|             // previewFile: (file: NzUploadFile) => of(file.url) | ||||
|             previewFile: (file: NzUploadFile) => of(file.url), | ||||
|           } | ||||
|         }, | ||||
|         roadImg: { | ||||
|           title: '', | ||||
|           type: 'boolean', | ||||
|           // enum: [{ label: '长期', value: true }], | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|           } | ||||
|         }, | ||||
|         roadTransportNo: { | ||||
| @ -479,8 +495,8 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             // widget: this.detailData.commitFlag !== 0 ? 'text' : '', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         roadTransportLicenceNo: { | ||||
|           title: '经营许可证号', | ||||
| @ -488,25 +504,25 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           maxLength: 30, | ||||
|           ui: { | ||||
|             // widget: this.detailData.commitFlag !== 0 ? 'text' : '', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         roadTransportStartTime: { | ||||
|           title: '发证日期', | ||||
|           type: 'string', | ||||
|           format: 'date', | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|         roadTransportEndTime: { | ||||
|           title: '有效期至', | ||||
|           type: 'string', | ||||
|           format: 'date', | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         } | ||||
|             placeholder: '请输入', | ||||
|           }, | ||||
|         }, | ||||
|       }, | ||||
|       required: [ | ||||
|         'carFrontPhotoWatermark', | ||||
| @ -526,62 +542,61 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|         'carDistinguishCode', | ||||
|         'useNature', | ||||
|         'carOwner' | ||||
|       ] | ||||
|       ], | ||||
|     }; | ||||
|  | ||||
|     this.ui = { | ||||
|       '*': { | ||||
|         spanLabelFixed: 180, | ||||
|         grid: { span: 18 }, | ||||
|         width: 600 | ||||
|         width: 600, | ||||
|       }, | ||||
|       $title1: { | ||||
|         spanLabelFixed: 0 | ||||
|         spanLabelFixed: 0, | ||||
|       }, | ||||
|       $title2: { | ||||
|         spanLabelFixed: 0 | ||||
|         spanLabelFixed: 0, | ||||
|       }, | ||||
|       $title3: { | ||||
|         spanLabelFixed: 0 | ||||
|         spanLabelFixed: 0, | ||||
|       }, | ||||
|       $enterpriseRegistrationTime: { | ||||
|         width: 680 | ||||
|       $isTrailer:{ | ||||
|         grid: { span: 24 }, | ||||
|       }, | ||||
|       $operatingEndTime: { | ||||
|         grid: { span: 9 } | ||||
|       $carProtocalWatermark: { | ||||
|         grid: { span:12 }, | ||||
|       }, | ||||
|       $dateType: { | ||||
|         grid: { span: 4 } | ||||
|       $agreeImg: { | ||||
|         grid: { span: 4 }, | ||||
|         class: 'setCustom' | ||||
|       }, | ||||
|       $validEndTime: { | ||||
|         grid: { span: 9 } | ||||
|       $titleB:{ | ||||
|         grid: { span: 24 }, | ||||
|       }, | ||||
|       $dateType01: { | ||||
|         grid: { span: 4 } | ||||
|       $roadTransportPhotoWatermark: { | ||||
|         grid: { span: 12 }, | ||||
|       }, | ||||
|       $registrationCapital: { | ||||
|         grid: { span: 12 } | ||||
|       $roadImg: { | ||||
|         grid: { span: 4 }, | ||||
|         class: 'setCustom' | ||||
|       }, | ||||
|       $unit: { | ||||
|         spanLabelFixed: 20, | ||||
|         grid: { span: 3 } | ||||
|       } | ||||
|       | ||||
|     }; | ||||
|   } | ||||
|   // 道路运输证识别 | ||||
|   checkTransCard(imgurl: any) { | ||||
|     const params = { | ||||
|       transportationLicenseUrl: imgurl | ||||
|       transportationLicenseUrl: imgurl, | ||||
|     }; | ||||
|     this.service.request(this.service.$api_recognizeTransportationLicense, params).subscribe(res => { | ||||
|     this.service.request(this.service.$api_recognizeTransportationLicense, params).subscribe((res: any) => { | ||||
|       if (res) { | ||||
|         this.sf.setValue('/roadTransportNo', res.number); | ||||
|         this.sf.setValue('/roadTransportLicenceNo', res.businessCertificate); | ||||
|         this.sf.setValue('/roadTransportStartTime', res.issueDate); | ||||
|         if (this.carNo === '') { | ||||
|           this.carNo = res.number; | ||||
|         } else if (this.carNo && res.vehicleNumber.indexOf(this.carNo) === -1) { | ||||
|           this.service.msgSrv.warning('请上传同一认证车辆的相关证件'); | ||||
|         if(this.carNo === '') { | ||||
|           this.carNo = res.number | ||||
|         } else if(this.carNo && res.vehicleNumber.indexOf(this.carNo) === -1) { | ||||
|           this.service.msgSrv.warning('请上传同一认证车辆的相关证件') | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
| @ -590,12 +605,11 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|   checkCarCard(imgurl: any, side: any) { | ||||
|     const params = { | ||||
|       vehicleLicenseUrl: imgurl, | ||||
|       side | ||||
|       side, | ||||
|     }; | ||||
|     this.service.request(this.service.$api_recognizeVehicleLicense, params).subscribe(res => { | ||||
|     this.service.request(this.service.$api_recognizeVehicleLicense, params).subscribe((res: any) => { | ||||
|       if (res) { | ||||
|         if (side === 'front') { | ||||
|           // 正面 | ||||
|         if (side === 'front') { // 正面 | ||||
|           this.sf.setValue('/driverLicenseRegisterTime', res.registerDate); | ||||
|           this.sf.setValue('/carNo', res.number); | ||||
|           this.sf.setValue('/driverLicenseGetTime', res.issueDate); | ||||
| @ -603,49 +617,46 @@ export class CarSettleCarauthComponent implements OnInit { | ||||
|           this.sf.setValue('/carDistinguishCode', res.vin); | ||||
|           this.sf.setValue('/carOwner', res.name); | ||||
|           this.sf.setValue('/useNature', res.useCharacter === '非营运' ? 0 : 1); | ||||
|            | ||||
|         } else { | ||||
|           this.sf.setValue('/curbWeight', res.unladenMass); | ||||
|         } | ||||
|         if (this.carNo === '') { | ||||
|           this.carNo = res.number; | ||||
|         } else if (this.carNo && this.carNo !== res.number) { | ||||
|           this.service.msgSrv.warning('请上传同一认证车辆的相关证件'); | ||||
|         if(this.carNo === '') { | ||||
|           this.carNo = res.number | ||||
|         } else if(this.carNo && this.carNo !== res.number) { | ||||
|           this.service.msgSrv.warning('请上传同一认证车辆的相关证件') | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   close(): void { | ||||
|     this.modal.destroy(); | ||||
|     this.modal.close(true); | ||||
|   } | ||||
|   showExample() { | ||||
|     this.showCardFlag = !this.showCardFlag; | ||||
|     this.showCardFlag = !this.showCardFlag | ||||
|   } | ||||
|   showJopExample() { | ||||
|     this.showJopFlag = !this.showJopFlag; | ||||
|     this.showJopFlag = !this.showJopFlag | ||||
|   } | ||||
|   submitForm() { | ||||
|     const params: any = { | ||||
|       appUserId: this.i.appUserId, | ||||
|       ...this.sf.value | ||||
|       ...this.sf.value, | ||||
|       bindType: this.i.bindType | ||||
|     }; | ||||
|     params.carFrontPhoto = this.detailData.carFrontPhoto; | ||||
|     params.carProtocal = this.detailData.carProtocal; | ||||
|     params.certificatePhotoFront = this.detailData.certificatePhotoFront; | ||||
|     params.certificatePhotoBack = this.detailData.certificatePhotoBack; | ||||
|     params.roadTransportPhoto = this.detailData.roadTransportPhoto; | ||||
|     params.carFrontPhotoWatermark = this.sf.value.carFrontPhotoWatermark?.data?.fullFilePath || this.sf.value.carFrontPhotoWatermark | ||||
|     params.carProtocalWatermark = this.sf.value.carProtocalWatermark?.data?.fullFilePath || this.sf.value.carProtocalWatermark | ||||
|     params.certificatePhotoBackWatermark = this.sf.value.certificatePhotoBackWatermark?.data?.fullFilePath || this.sf.value.certificatePhotoBackWatermark | ||||
|     params.certificatePhotoFrontWatermark = this.sf.value.certificatePhotoFrontWatermark?.data?.fullFilePath || this.sf.value.certificatePhotoFrontWatermark | ||||
|     params.roadTransportPhotoWatermark = this.sf.value.roadTransportPhotoWatermark?.data?.fullFilePath || this.sf.value.roadTransportPhotoWatermark | ||||
|     delete params.titleA; | ||||
|     delete params.titleB; | ||||
|     this.service.request(this.service.$api_addOrUpdateCarLicenseInfo, params).subscribe(res => { | ||||
|     params.carFrontPhoto = this.detailData.carFrontPhoto | ||||
|     params.carProtocal = this.detailData.carProtocal | ||||
|     params.certificatePhotoFront = this.detailData.certificatePhotoFront | ||||
|     params.certificatePhotoBack = this.detailData.certificatePhotoBack | ||||
|     params.roadTransportPhoto = this.detailData.roadTransportPhoto | ||||
|     delete params.titleA | ||||
|     delete params.titleB | ||||
|     this.service.request(this.service.$api_saveUpdateShipperCar, params).subscribe((res: any) => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success('添加成功'); | ||||
|         this.modal.close(true); | ||||
|         this.service.msgSrv.success('添加成功') | ||||
|         this.modal.close(true) | ||||
|       } | ||||
|     }); | ||||
|     }) | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 11:10:14 | ||||
|  * @LastEditTime : 2022-03-11 16:04:29 | ||||
|  * @LastEditTime : 2022-03-25 16:31:01 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk\\bulk.component.html | ||||
| @ -85,9 +85,9 @@ | ||||
|         {{ item?.freightPrice }}/吨 | ||||
|         <div>{{item?.settlementBasisLabel}}</div> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="billExpenseDetailVOList" let-item let-index="index"> | ||||
|         <div *ngIf="item?.billExpenseDetailVOList?.length > 0"> | ||||
|           <p *ngFor="let data of item?.billExpenseDetailVOList"> | ||||
|       <ng-template st-row="billExpenseDetails" let-item let-index="index"> | ||||
|         <div *ngIf="item?.billExpenseDetails?.length > 0"> | ||||
|           <p *ngFor="let data of item?.billExpenseDetails"> | ||||
|             {{ data.costName }}:{{ data.price | currency }} | ||||
|             <span style="color: #f59a63">{{ data.paymentStatusLabel }}</span> | ||||
|           </p> | ||||
|  | ||||
| @ -253,9 +253,9 @@ export class WaybillManagementBulkComponent implements OnInit { | ||||
|       }, | ||||
|       { | ||||
|         title: '运费明细', | ||||
|         width: '220px', | ||||
|         width: '250px', | ||||
|         className: 'text-right', | ||||
|         render: 'billExpenseDetailVOList' | ||||
|         render: 'billExpenseDetails' | ||||
|       }, | ||||
|       { title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' }, | ||||
|       { title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' }, | ||||
|  | ||||
		Reference in New Issue
	
	Block a user