Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -296,20 +296,20 @@ | ||||
|     <sv label="是否回单"> | ||||
|       {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }} | ||||
|     </sv> | ||||
|     <sv label="回单类型"> | ||||
|     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} | ||||
|     </sv> | ||||
|     <sv label="联系人"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||
|     <sv label="所在地区"> | ||||
|     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||
|     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.area }} | ||||
|     </sv> | ||||
|     <sv label="详细地址"> | ||||
|     <sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.address }} | ||||
|     </sv> | ||||
|    | ||||
|   </sv-container> | ||||
|   <sv-container col="1" class="mt-md"> | ||||
|     <sv label="回单凭证"> | ||||
|     <sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       <nz-upload | ||||
|       class="avatar-uploader" | ||||
|       [nzAction]="service.$api_upload_url" | ||||
|  | ||||
| @ -182,19 +182,19 @@ | ||||
|     <sv label="是否回单"> | ||||
|       {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }} | ||||
|     </sv> | ||||
|     <sv label="回单类型"> | ||||
|     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} | ||||
|     </sv> | ||||
|     <sv label="联系人"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||
|     <sv label="所在地区"> | ||||
|     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||
|     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.area }} | ||||
|     </sv> | ||||
|     <sv label="详细地址"> | ||||
|     <sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       {{ i?.supplementaryInformationVO?.address }} | ||||
|     </sv> | ||||
|   </sv-container> | ||||
|   <sv-container col="1" class="mt-md"> | ||||
|     <sv label="回单凭证"> | ||||
|     <sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|       <app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist> | ||||
|     </sv> | ||||
|     <sv label="备注"> | ||||
|  | ||||
| @ -4,13 +4,19 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-12 10:52:50 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-02-23 15:27:52 | ||||
|  * @LastEditTime : 2022-03-10 11:13:18 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\complaint\\complaint.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
|  | ||||
| <!-- 搜索表单 --> | ||||
| <page-header-wrapper [title]="''"> | ||||
| <page-header-wrapper title="" [tab]="tpTab"> | ||||
|   <ng-template #tpTab> | ||||
|     <nz-tabset [nzSelectedIndex]="selectedIndex" (nzSelectedIndexChange)="selectChange($event)"> | ||||
|       <nz-tab *ngFor="let tab of mainTabs" [nzTitle]="tab.name" (nzSelect)="selectMainTab(tab)"> | ||||
|       </nz-tab> | ||||
|     </nz-tabset> | ||||
|   </ng-template> | ||||
| </page-header-wrapper> | ||||
| <nz-card> | ||||
|   <div nz-row nzGutter="8"> | ||||
|  | ||||
| @ -23,24 +23,16 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|   _$expand = false; | ||||
|   channelId: any; | ||||
|   resourceStatus: any; | ||||
|   selectedMainTabStatus = '1'; | ||||
|   @ViewChild('st') private readonly st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   @ViewChild('sfView', { static: false }) sfView!: SFComponent; | ||||
|   columns: STColumn[] = []; | ||||
|   datass: any = [ | ||||
|     { | ||||
|     one: '1', | ||||
|     two: '1', | ||||
|     three: '1', | ||||
|     id: 1 | ||||
|    }, | ||||
|     { | ||||
|     one: '2', | ||||
|     two: '2', | ||||
|     three: '2', | ||||
|     id: 2 | ||||
|    }, | ||||
| ]; | ||||
|   selectedIndex: number = 0; | ||||
|   mainTabs = [ | ||||
|     { name: '投诉', status: '1' }, | ||||
|     { name: '被投诉', status: '2' }, | ||||
|   ] | ||||
|   tabs = [  { | ||||
|     name: '全部', | ||||
|     type: 0, | ||||
| @ -62,7 +54,11 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|     public service: OrderManagementService, | ||||
|     private modal: NzModalService, | ||||
|     private router: Router | ||||
|      ) { } | ||||
|      ) {     if (this.selectedIndex === 0) { | ||||
|       this.selectedMainTabStatus = '1'; | ||||
|     } else if (this.selectedIndex === 1) { | ||||
|       this.selectedMainTabStatus = '2'; | ||||
|     }} | ||||
|  | ||||
|   /** | ||||
|  * 查询参数 | ||||
| @ -72,6 +68,9 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|     if(this.resourceStatus) { | ||||
|       a.complaintStatus = this.resourceStatus  | ||||
|     } | ||||
|     if(this.selectedMainTabStatus) { | ||||
|       a.complaintType = this.selectedMainTabStatus | ||||
|     } | ||||
|     const params: any = Object.assign({}, this.sf?.value || {}); | ||||
|     delete params._$expand; | ||||
|     return { | ||||
| @ -155,7 +154,14 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|         className: 'text-center', | ||||
|         width: '120px', | ||||
|         index: 'complaintStatusLabel' | ||||
|       }, { | ||||
|       }, | ||||
|       { | ||||
|         title: '处理人', | ||||
|         className: 'text-center', | ||||
|         width: '200px', | ||||
|         index:'handlePartyLabel' | ||||
|       }, | ||||
|       { | ||||
|         title: '处理结果', | ||||
|         className: 'text-center', | ||||
|         width: '170px', | ||||
| @ -240,6 +246,19 @@ export class OrderManagementComplaintComponent implements OnInit { | ||||
|       this.st.load(); | ||||
|     }, 500); | ||||
|   } | ||||
|     /** | ||||
|    * 切换投诉与被投诉tab | ||||
|    */ | ||||
|      selectMainTab(e: any) { | ||||
|       console.log(this.selectedIndex); | ||||
|       this.selectedMainTabStatus = e?.status; | ||||
|       this.initST(); | ||||
|       this.initSF(); | ||||
|       setTimeout(() => { | ||||
|         this.st.load(1); | ||||
|       }) | ||||
|     } | ||||
|    | ||||
|   /** | ||||
|    * 导入货源 | ||||
|    */ | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-28 14:42:03 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-03-09 13:38:21 | ||||
|  * @LastEditTime : 2022-03-09 10:33:44 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -48,8 +48,8 @@ | ||||
|         <sv label="调度员">{{ i?.goodsResource?.dispatchName }}/{{ i?.goodsResource?.dispatchPhone }} </sv> | ||||
|         <sv label="外部订单号">{{ i?.externalBillCode }}</sv> | ||||
|         <sv label="货源编号">{{ i?.resourceCode }} </sv> | ||||
|         <sv label="运单号">{{ i?.wayBillCode }}</sv> | ||||
|         <sv label="承诺付款天数">{{ i?.paymentDays }}</sv> | ||||
|         <sv label="运单号">{{ i?.wayBillId }}</sv> | ||||
|         <sv label="承诺付款天数">{{ i?.goodsResource?.dispatchName }}</sv> | ||||
|       </div> | ||||
|  | ||||
|       <nz-tabset style="margin-top: 15px"> | ||||
| @ -203,7 +203,7 @@ | ||||
|           </st> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList" [pois]="pois"></amap-path-simplifier> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier> | ||||
|         </div> | ||||
|       </div> | ||||
|     </nz-card> | ||||
|  | ||||
| @ -155,16 +155,16 @@ | ||||
|       <sv label="是否回单"> | ||||
|         {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }} | ||||
|       </sv> | ||||
|       <sv label="回单类型"> | ||||
|       <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.receiptTypeLabel }} | ||||
|       </sv> | ||||
|       <sv label="联系人"> | ||||
|       <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.receiptUserName ? i?.supplementaryInformationVO?.receiptUserName + '/' : '' }}  {{ i?.supplementaryInformationVO?.phon }} | ||||
|       </sv> | ||||
|       <sv label="所在地区"> | ||||
|       <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.area }} | ||||
|       </sv> | ||||
|       <sv label="详细地址"> | ||||
|       <sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.address }} | ||||
|       </sv> | ||||
|       <sv label="备注" > | ||||
|  | ||||
| @ -648,6 +648,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit { | ||||
|       this.service.msgSrv.warning('请完善必填项!'); | ||||
|       return; | ||||
|     } | ||||
|     if (this.totalDistance <= 0) { | ||||
|       this.service.msgSrv.warning('起终点相同,请重新选择装卸货地址!'); | ||||
|       return; | ||||
|     } | ||||
|     // 校验各个输入限定值 | ||||
|     if ( | ||||
|       this.sf4.value?.weight > this.limitValues?.maxWeight || | ||||
|  | ||||
| @ -580,6 +580,10 @@ export class SupplyManagementBulkReleasePublishComponent implements OnInit { | ||||
|       this.service.msgSrv.warning('请完善必填项!'); | ||||
|         return; | ||||
|       } | ||||
|       if (this.totalDistance <= 0) { | ||||
|         this.service.msgSrv.warning('起终点相同,请重新选择装卸货地址!'); | ||||
|         return; | ||||
|       } | ||||
|      // 校验各个输入限定值 | ||||
|      if (this.sf4.value.weight > this.limitValues.maxWeight || this.sf4.value.volume > this.limitValues.maxVolume || this.sf4.value.number > this.limitValues.maxTrainNumber) { | ||||
|       this.service.msgSrv.error(`当前货物核载信息已超出限定值【${this.limitValues.maxWeight}吨、${this.limitValues.maxVolume}方、${this.limitValues.maxTrainNumber}车】`); | ||||
|  | ||||
| @ -41,7 +41,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     maxPiece: 99999, | ||||
|     maxDays: 999, | ||||
|     intervalDays: 999, | ||||
|     maxTimes: 999 | ||||
|     maxTimes: 5 | ||||
|   }; | ||||
|   sf1data: any; // 货源单设置回显 | ||||
|   sf3data: any; // 货源单设置回显 | ||||
| @ -147,6 +147,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|           title: '货主', | ||||
|           type: 'string', | ||||
|           maxLength: 30, | ||||
|           readOnly: this.PageStatus == '整车修改' ? true : false, | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             // serverSearch: true, | ||||
| @ -177,6 +178,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|         enterpriseProjectId: { | ||||
|           type: 'string', | ||||
|           title: '项目', | ||||
|           readOnly: this.PageStatus == '整车修改' ? true : false, | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择' | ||||
| @ -214,7 +216,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         } | ||||
|         // dispatchId: { | ||||
|         //   type: 'string', | ||||
|         //   title: '调度员', | ||||
| @ -249,7 +251,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       }, | ||||
|       $enterpriseProjectId: { | ||||
|         grid: { span: 12 } | ||||
|       }, | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
|   initSF3() { | ||||
| @ -347,7 +349,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|           title: '', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         number: { | ||||
| @ -355,7 +357,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|           title: '', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         carModel: { | ||||
| @ -429,7 +431,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         } | ||||
|       }, | ||||
|       required: ['weight', 'carModel', 'carLength'] | ||||
|     }; | ||||
| @ -454,7 +456,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|                 map((res: any) => { | ||||
|                   return [...res]; | ||||
|                 }) | ||||
|               ) | ||||
|               ); | ||||
|             }, | ||||
|             change: (tag: any, org: any) => { | ||||
|               if (tag === '3') { | ||||
| @ -519,9 +521,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|             widget: 'custom', | ||||
|             visibleIf: { insuranceType: (value: string) => value === '1' } | ||||
|           } | ||||
|         }, | ||||
|          | ||||
|         | ||||
|         } | ||||
|       }, | ||||
|       required: ['insurancePremium'] | ||||
|     }; | ||||
| @ -746,7 +746,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     }); | ||||
|   } | ||||
|   addStartInfo() { | ||||
|     if (this.startInfo.length < 5) { | ||||
|     if (this.startInfo.length < this.limitValues.maxTimes) { | ||||
|       const controlId = this.startInfo.length; | ||||
|       this.startInfo.push({ | ||||
|         detailedAddress: '', | ||||
| @ -800,7 +800,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.validateForm1.removeControl(`loadPhone${index}`); | ||||
|   } | ||||
|   addEndInfo() { | ||||
|     if (this.endInfo.length < 5) { | ||||
|     if (this.endInfo.length < this.limitValues.maxTimes) { | ||||
|       const controlId = this.endInfo.length; | ||||
|       this.endInfo.push({ | ||||
|         detailedAddress: '', | ||||
| @ -864,7 +864,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       nzComponentParams: { | ||||
|         status: 'new', | ||||
|         url: this.service.$api_save_assign_whole, | ||||
|         params: item, | ||||
|         params: item | ||||
|       }, | ||||
|       nzFooter: null | ||||
|     }); | ||||
| @ -895,10 +895,22 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.sf5.validator({ emitError: true }); | ||||
|     this.sf6.validator({ emitError: true }); | ||||
|     this.sf7.validator({ emitError: true }); | ||||
|     if (this.validateForm1.invalid || !this.sf3.valid || !this.sf1.valid  || !this.sf4.valid || !this.sf5.valid || !this.sf6.valid || !this.sf7.valid) { | ||||
|     if ( | ||||
|       this.validateForm1.invalid || | ||||
|       !this.sf3.valid || | ||||
|       !this.sf1.valid || | ||||
|       !this.sf4.valid || | ||||
|       !this.sf5.valid || | ||||
|       !this.sf6.valid || | ||||
|       !this.sf7.valid | ||||
|     ) { | ||||
|       this.service.msgSrv.warning('请完善必填项!'); | ||||
|       return; | ||||
|     } | ||||
|     if (this.totalDistance <= 0) { | ||||
|       this.service.msgSrv.warning('起终点相同,请重新选择装卸货地址!'); | ||||
|       return; | ||||
|     } | ||||
|     if (this.validateForm1.value.loadingTime < new Date()) { | ||||
|       this.service.msgSrv.warning('装货时间必须大于当前时间!'); | ||||
|       return; | ||||
| @ -979,7 +991,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       { expenseCode: 'BACK', expenseName: '回单付', price: this.sf7.value.receiptPay || 0, id: this.sf7data?.receiptPayId || '' } | ||||
|     ]; | ||||
|     // 从“再下一单”过来,将所有的子参数内的id都删除 | ||||
|     if ((this.PageStatus === '整车下一单')) { | ||||
|     if (this.PageStatus === '整车下一单') { | ||||
|       LoadingList.forEach((ele: any) => { | ||||
|         delete ele.id; | ||||
|       }); | ||||
| @ -1004,7 +1016,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       estimatedKilometers: this.totalDistance, | ||||
|       estimatedTravelTime: this.totalTime, | ||||
|       insurancePackagedGoods: this.sf4.value.insurancePackagedGoods, | ||||
|       goodsValue:this.sf4.value.goodsValue, | ||||
|       goodsValue: this.sf4.value.goodsValue | ||||
|     }; | ||||
|     const modalRef = this.modalService.create({ | ||||
|       nzTitle: '运输协议', | ||||
| @ -1136,7 +1148,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       enterpriseInfoId: res?.enterpriseInfoId, | ||||
|       dispatchPhone: res?.dispatchPhone, | ||||
|       dispatchName: res?.dispatchName, | ||||
|       externalResourceCode: res?.externalResourceCode, | ||||
|       externalResourceCode: res?.externalResourceCode | ||||
|     }; | ||||
|     if (this.PageStatus === '整车修改') { | ||||
|       this.sf1data.id = res?.id; | ||||
| @ -1248,7 +1260,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|       carModel: res?.goodsInfoVOList[0]?.carModel?.split(',') || [], | ||||
|       carLength: res?.goodsInfoVOList[0]?.carLength?.split(',') || [], | ||||
|       goodsValue: res?.goodsValue || '', | ||||
|       insurancePackagedGoods: res?.insurancePackagedGoods || '', | ||||
|       insurancePackagedGoods: res?.insurancePackagedGoods || '' | ||||
|     }; | ||||
|     if (this.PageStatus === '整车修改') { | ||||
|       this.sf4data.id = res?.goodsInfoVOList[0]?.id; | ||||
| @ -1257,7 +1269,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|     this.sf5data = { | ||||
|       insuranceType: res?.insuranceType || '', | ||||
|       insurancePremium: res?.insurancePremium || '', | ||||
|       insuranceRate: res?.insuranceRate || '', | ||||
|       insuranceRate: res?.insuranceRate || '' | ||||
|     }; | ||||
|     this.sf6data = { | ||||
|       stateReceipt: res?.stateReceipt, | ||||
| @ -1384,7 +1396,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|   } | ||||
|   // 计算保价费金额 | ||||
|   getInsurersPrice(insuranceType = this.sf5.value.insuranceType) { | ||||
|     console.log(this.totalDistance) | ||||
|     console.log(this.totalDistance); | ||||
|     if (insuranceType !== '3' && this.sf4.value?.goodsValue >= 50000 && this.totalDistance > 0) { | ||||
|       const params = { | ||||
|         insuranceType, | ||||
|  | ||||
| @ -109,7 +109,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     maxPiece: 99999, | ||||
|     maxDays: 999, | ||||
|     intervalDays: 999, | ||||
|     maxTimes: 999 | ||||
|     maxTimes: 5 | ||||
|   }; | ||||
|  | ||||
|   formatterRmb = (value: number): string => { | ||||
| @ -211,7 +211,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|           ui: { | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         } | ||||
|       }, | ||||
|       required: ['shipperAppUserId', 'enterpriseProjectId', 'enterpriseInfoName'] | ||||
|     }; | ||||
| @ -329,7 +329,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|           title: '', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         number: { | ||||
| @ -337,7 +337,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|           title: '', | ||||
|           ui: { | ||||
|             widget: 'custom', | ||||
|             placeholder: '请输入', | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         carModel: { | ||||
| @ -411,7 +411,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         } | ||||
|       }, | ||||
|       required: ['weight', 'carModel', 'carLength'] | ||||
|     }; | ||||
| @ -436,14 +436,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|                 map((res: any) => { | ||||
|                   return [...res]; | ||||
|                 }) | ||||
|               ) | ||||
|               ); | ||||
|             }, | ||||
|             change: (tag: any, org: any) => { | ||||
|               if (tag === '3') { | ||||
|                 this.sf5.setValue('/insurancePremium', null); | ||||
|                 this.sf5.setValue('/insuranceRate', null); | ||||
|               } else { | ||||
|                 console.log(tag) | ||||
|                 console.log(tag); | ||||
|                 this.getInsurersPrice(tag); | ||||
|               } | ||||
|             } | ||||
| @ -502,9 +502,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|             widget: 'custom', | ||||
|             visibleIf: { insuranceType: (value: string) => value === '1' } | ||||
|           } | ||||
|         }, | ||||
|          | ||||
|         | ||||
|         } | ||||
|       }, | ||||
|       required: ['insurancePremium'] | ||||
|     }; | ||||
| @ -528,7 +526,6 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|  | ||||
|   initSF6() { | ||||
|     this.schema6 = { | ||||
|       properties: { | ||||
| @ -767,7 +764,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|   } | ||||
|   // 添加 删除发货卸货地址 | ||||
|   addStartInfo() { | ||||
|     if (this.startInfo.length < 5) { | ||||
|     console.log(this.startInfo.length); | ||||
|     console.log(this.limitValues.maxTimes); | ||||
|  | ||||
|     if (this.startInfo.length < this.limitValues.maxTimes) { | ||||
|       const controlId = this.startInfo.length; | ||||
|       this.startInfo.push({ | ||||
|         detailedAddress: '', | ||||
| @ -782,11 +782,11 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|       }); | ||||
|       this.validateForm1.addControl(`loadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`loadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, [Validators.required, Validators.pattern('^[0-9]*$')])); | ||||
|     } | ||||
|   } | ||||
|   // 添加 删除发货卸货地址 | ||||
|   subStartInfo(_event: any, index: number) { | ||||
|   subStartInfo(event: any, index: number) { | ||||
|     this.startInfo.splice(index, 1); | ||||
|     this.validateForm1.removeControl(`loadAddress${index}`); | ||||
|     this.validateForm1.removeControl(`loadName${index}`); | ||||
| @ -794,7 +794,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|   } | ||||
|   // 添加 删除发货卸货地址 | ||||
|   addEndInfo() { | ||||
|     if (this.addEndInfo.length < 5) { | ||||
|     if (this.endInfo.length < this.limitValues.maxTimes) { | ||||
|       const controlId = this.endInfo.length; | ||||
|       this.endInfo.push({ | ||||
|         detailedAddress: '', | ||||
| @ -809,11 +809,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|       }); | ||||
|       this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required)); | ||||
|       this.validateForm1.addControl( | ||||
|         `unloadPhone${controlId}`, | ||||
|         new FormControl(null, [Validators.required, Validators.pattern('^[0-9]*$')]) | ||||
|       ); | ||||
|     } | ||||
|   } | ||||
|   // 添加 删除发货卸货地址 | ||||
|   subEndInfo(_event: any, index: number) { | ||||
|   subEndInfo(event: any, index: number) { | ||||
|     this.endInfo.splice(index, 1); | ||||
|     this.validateForm1.removeControl(`unloadAddress${index}`); | ||||
|     this.validateForm1.removeControl(`unloadName${index}`); | ||||
| @ -851,12 +854,24 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     this.sf5.validator({ emitError: true }); | ||||
|     this.sf6.validator({ emitError: true }); | ||||
|     this.sf7.validator({ emitError: true }); | ||||
|     console.log(!this.sf1.valid) | ||||
|     console.log(this.sf1.value) | ||||
|     if (this.validateForm1.invalid || !this.sf3.valid || !this.sf1.valid || !this.sf4.valid || !this.sf5.valid || !this.sf6.valid || !this.sf7.valid) { | ||||
|     console.log(!this.sf1.valid); | ||||
|     console.log(this.sf1.value); | ||||
|     if ( | ||||
|       this.validateForm1.invalid || | ||||
|       !this.sf3.valid || | ||||
|       !this.sf1.valid || | ||||
|       !this.sf4.valid || | ||||
|       !this.sf5.valid || | ||||
|       !this.sf6.valid || | ||||
|       !this.sf7.valid | ||||
|     ) { | ||||
|       this.service.msgSrv.warning('请完善必填项!'); | ||||
|       return; | ||||
|     } | ||||
|     if (this.totalDistance <= 0) { | ||||
|       this.service.msgSrv.warning('起终点相同,请重新选择装卸货地址!'); | ||||
|       return; | ||||
|     } | ||||
|     if (this.validateForm1.value.loadingTime < new Date()) { | ||||
|       this.service.msgSrv.warning('装货时间必须大于当前时间!'); | ||||
|       return; | ||||
| @ -950,7 +965,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|       estimatedKilometers: this.totalDistance, | ||||
|       estimatedTravelTime: this.totalTime, | ||||
|       insurancePackagedGoods: this.sf4.value.insurancePackagedGoods, | ||||
|       goodsValue:this.sf4.value.goodsValue, | ||||
|       goodsValue: this.sf4.value.goodsValue | ||||
|     }; | ||||
|     console.log(params); | ||||
|     const modalRef = this.modalService.create({ | ||||
| @ -962,7 +977,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|     }); | ||||
|     modalRef.afterClose.subscribe(result => { | ||||
|       if (result) { | ||||
|         this.submit(submitType, params, ); | ||||
|         this.submit(submitType, params); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| @ -1175,8 +1190,8 @@ export class SupplyManagementReleasePublishComponent implements OnInit { | ||||
|   } | ||||
|   // 计算保价费金额 | ||||
|   getInsurersPrice(insuranceType = this.sf5.value?.insuranceType) { | ||||
|     console.log(insuranceType) | ||||
|     console.log(this.totalDistance) | ||||
|     console.log(insuranceType); | ||||
|     console.log(this.totalDistance); | ||||
|     if (insuranceType !== '3' && this.sf4.value?.goodsValue >= 50000 && this.totalDistance > 0) { | ||||
|       const params = { | ||||
|         insuranceType, | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-02-24 20:19:51 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-03-08 14:05:09 | ||||
|  * @LastEditTime : 2022-03-10 10:27:21 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\tran-agreement\\tran-agreement.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -66,23 +66,23 @@ export class TranAgreementComponent { | ||||
|         carrierLegalPersonName:this.enterpriseInfo.netLegalPersonName || '', //承运法定代表人 | ||||
|         shipperName:this?.shipperName || '', //托运人 | ||||
|         carrierName:this.object?.enterpriseInfoName || '', //承运人 | ||||
|         consignorInfo: `${this.object?.unLoadingPlaceDTOList[0].appUserName}  ${this.object?.unLoadingPlaceDTOList[0].contractTelephone}`, // 发货信息 | ||||
|         consignorAddress: this.object?.unLoadingPlaceDTOList[0].detailedAddress, // 发货地址 | ||||
|         consignorInfo: `${this.object?.unLoadingPlaceDTOList[0]?.appUserName || ''}  ${this.object?.unLoadingPlaceDTOList[0]?.contractTelephone || ''}`, // 发货信息 | ||||
|         consignorAddress: this.object?.unLoadingPlaceDTOList[0].detailedAddress || '', // 发货地址 | ||||
|         consignorDate: this.object?.loadingTime || '', // 发货时间 | ||||
|         consigneeInfo: `${this.object?.unLoadingPlaceDTOList[this.object?.unLoadingPlaceDTOList.length-1].appUserName}  ${this.object?.unLoadingPlaceDTOList[this.object?.unLoadingPlaceDTOList.length-1].contractTelephone}`, // 收货信息 | ||||
|         consigneeDate: this.object?.unloadingTime || '', // 收货时间 | ||||
|         consigneeAddress: this.object?.unLoadingPlaceDTOList[this.object?.unLoadingPlaceDTOList.length-1].detailedAddress || '', // 收货地址 | ||||
|         goodsName:this.object?.goodsInfoDTOList[0].goodsName || '', // 货物名称 | ||||
|         shippingType:'整车运输', | ||||
|         consignmentVolume:`${this.object?.goodsInfoDTOList[0].weight}吨/${this.object?.goodsInfoDTOList[0].volume}方/${this.object?.goodsInfoDTOList[0].number}件`, //托运量 | ||||
|         consignmentVolume:`${this.object?.goodsInfoDTOList[0]?.weight || '-'}吨/${this.object?.goodsInfoDTOList[0]?.volume || '-'}方/${this.object?.goodsInfoDTOList[0]?.number || '-'}件`, //托运量 | ||||
|         transporterInfo:'', //运输方信息 | ||||
|         freightAmount:this.object?.total || '', // 订单运费金额(元) | ||||
|         pre:this.object?.expenseDTOList?.filter((item:any) => item.expenseCode === 'PRE')[0].price, //预付 | ||||
|         rece:this.object?.expenseDTOList?.filter((item:any) => item.expenseCode === 'RECE')[0].price,// 到付 | ||||
|         back:this.object?.expenseDTOList?.filter((item:any) => item.expenseCode === 'BACK')[0].price,// 回单付 | ||||
|         pre:this.object?.expenseDTOList?.filter((item:any) => item.expenseCode === 'PRE')[0].price || '', //预付 | ||||
|         rece:this.object?.expenseDTOList?.filter((item:any) => item.expenseCode === 'RECE')[0].price || '',// 到付 | ||||
|         back:this.object?.expenseDTOList?.filter((item:any) => item.expenseCode === 'BACK')[0].price || '', // 回单付 | ||||
|         lunarKnot:0, | ||||
|         total:this.object?.subtotal || '', // 合计(元) | ||||
|         paymentTime:`到货后${this.object?.paymentDays}天`, // 承诺支付运费时间 | ||||
|         paymentTime:`到货后${this.object?.paymentDays || ''}天`, // 承诺支付运费时间 | ||||
|         year:new Date().getFullYear() || '', // 签约年份 | ||||
|         month:new Date().getMonth()+1 || '', // 签约月份 | ||||
|         day:new Date().getDate() || '', // 签约日期 | ||||
| @ -100,15 +100,15 @@ export class TranAgreementComponent { | ||||
|           carrierName:this.object?.enterpriseInfoName || '', //承运人 | ||||
|           shipperLegalPersonName:this.enterpriseInfo.legalPersonName || '', //托运法定代表人 | ||||
|           carrierLegalPersonName:this.enterpriseInfo.netLegalPersonName || '', //承运法定代表人 | ||||
|           consignorInfo: `${this.object.unLoadingPlaceDTOList[0].appUserName}  ${this.object.unLoadingPlaceDTOList[0].contractTelephone}`, // 发货信息 | ||||
|           consignorInfo: `${this.object.unLoadingPlaceDTOList[0]?.appUserName || ''}  ${this.object.unLoadingPlaceDTOList[0]?.contractTelephone || ''}`, // 发货信息 | ||||
|           consignorAddress: this.object.unLoadingPlaceDTOList[0].detailedAddress, // 发货地址 | ||||
|           consignorDate: '', // 发货时间 | ||||
|           consigneeInfo: `${this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length-1].appUserName}  ${this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length-1].contractTelephone}`, // 收货信息 | ||||
|           consigneeInfo: `${this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length-1]?.appUserName || ''}  ${this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length-1]?.contractTelephone || ''}`, // 收货信息 | ||||
|           consigneeDate: '', // 收货时间 | ||||
|           consigneeAddress: this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length-1].detailedAddress, // 收货地址 | ||||
|           consigneeAddress: this.object.unLoadingPlaceDTOList[this.object.unLoadingPlaceDTOList.length-1]?.detailedAddress || '', // 收货地址 | ||||
|           goodsName:this.object.goodsInfoDTOList[0]?.goodsName || '', // 货物名称 | ||||
|           shippingType:'大宗运输', | ||||
|           consignmentVolume:`${this.object.goodsInfoDTOList[0].weight}吨/${this.object.goodsInfoDTOList[0].volume}方/${this.object.goodsInfoDTOList[0].number}车`, //托运量 | ||||
|           consignmentVolume:`${this.object?.goodsInfoDTOList?.[0]?.weight|| '-'}吨/${this.object?.goodsInfoDTOList?.[0]?.volume || '-'}方/${this.object.goodsInfoDTOList?.[0]?.number || '-'}车`, //托运量 | ||||
|           transporterInfo:'', //运输方信息 | ||||
|           freightAmount:'', // 订单运费金额(元) | ||||
|           pre:'', //预付 | ||||
| @ -116,7 +116,7 @@ export class TranAgreementComponent { | ||||
|           back:'',// 回单付 | ||||
|           lunarKnot:'', | ||||
|           total:'', // 合计(元) | ||||
|           paymentTime:`到货后${this.object.paymentDays}天`, // 承诺支付运费时间 | ||||
|           paymentTime:`到货后${this.object?.paymentDays || ''}天`, // 承诺支付运费时间 | ||||
|           year:new Date().getFullYear() || '', // 签约年份 | ||||
|           month:new Date().getMonth()+1 || '', // 签约月份 | ||||
|           day:new Date().getDate() || '', // 签约日期 | ||||
|  | ||||
| @ -199,13 +199,15 @@ | ||||
|       <sv label="是否回单"> | ||||
|         {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }} | ||||
|       </sv> | ||||
|       <sv label="回单类型"> | ||||
|       <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} | ||||
|       </sv> | ||||
|       <sv label="所在地区"> | ||||
|       <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName || '-' }} / {{ i?.supplementaryInformationVO?.phon || '-' }}  | ||||
|       </sv> | ||||
|       <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.area }} | ||||
|       </sv> | ||||
|       <sv label="详细地址"> | ||||
|       <sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||
|         {{ i?.supplementaryInformationVO?.address }} | ||||
|       </sv> | ||||
|       <sv label="备注"> | ||||
|  | ||||
| @ -183,12 +183,12 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|                   if (res) { | ||||
|                     console.log(res); | ||||
|                   } | ||||
|                 }) | ||||
|                 }); | ||||
|                 console.log(111); | ||||
|               } | ||||
|             }, | ||||
|             } | ||||
|           ] | ||||
|         }) | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| @ -576,7 +576,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|         title: '创建时间', | ||||
|         width: '200px', | ||||
|         index: 'createTime', | ||||
|         className: 'text-left', | ||||
|         className: 'text-left' | ||||
|       }, | ||||
|       { | ||||
|         title: '审核状态', | ||||
| @ -606,7 +606,7 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|           { | ||||
|             text: '修改货源', | ||||
|             click: _record => this.amend(_record), | ||||
|             iif: item => item.resourceStatus === '1' , | ||||
|             iif: item => item.resourceStatus === '1' && item.insurancePayment !== 'Y', | ||||
|             acl: { ability: ['SUPPLY-INDEX-vehicleModificationSupply'] } | ||||
|           }, | ||||
|           // { | ||||
| @ -640,8 +640,8 @@ export class SupplyManagementVehicleComponent implements OnInit { | ||||
|   exportFire() { | ||||
|     this.service.request(this.service.$api_asyncExportWholeList, this.reqParams).subscribe((res: any) => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success('导出成功,请去下载中心下载!') | ||||
|         this.service.msgSrv.success('导出成功,请去下载中心下载!'); | ||||
|       } | ||||
|     }) | ||||
|     }); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 15:31:52 | ||||
|  * @LastEditTime : 2022-02-28 11:50:00 | ||||
|  * @LastEditTime : 2022-03-10 15:58:18 | ||||
|  * @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-detail\\bulk-detail.component.html | ||||
| @ -183,22 +183,22 @@ | ||||
|     <sv label="是否回单"> | ||||
|       {{i?.receiptType == 1 ?'是':'否'}} | ||||
|     </sv> | ||||
|     <sv label="回单类型"> | ||||
|     <sv label="回单类型" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptTypeLabel}} | ||||
|     </sv> | ||||
|     <sv label="联系人"> | ||||
|     <sv label="联系人" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptUser}} / {{i?.receiptUserPhone}} | ||||
|     </sv> | ||||
|     <sv label="所在地区"> | ||||
|     <sv label="所在地区" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptPlace}} | ||||
|     </sv> | ||||
|     <sv label="详细地址"> | ||||
|     <sv label="详细地址" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptAddress}} | ||||
|     </sv> | ||||
|    | ||||
|   </sv-container> | ||||
|   <sv-container col="1" class="mt-md"> | ||||
|     <sv label="回单凭证"> | ||||
|     <sv label="回单凭证" *ngIf="i?.receiptType == 1"> | ||||
|       <app-imagelist [imgList]="[i?.receiptFilePath]"></app-imagelist> | ||||
|     </sv> | ||||
|     <sv label="备注"> | ||||
| @ -209,19 +209,19 @@ | ||||
|  | ||||
| <nz-card> | ||||
|   <div nz-row> | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" id="distannce5"  [nzExtra]="extraTemplate" #distannce5> | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> | ||||
|       <div nz-row> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           <st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           </st> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="MapList"></amap-path-simplifier> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier> | ||||
|         </div> | ||||
|       </div> | ||||
|     </nz-card> | ||||
|     <ng-template #extraTemplate> | ||||
|       <nz-radio-group [(ngModel)]="trajectory"> | ||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> | ||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||
|       </nz-radio-group> | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 15:31:52 | ||||
|  * @LastEditTime : 2022-03-02 16:24:32 | ||||
|  * @LastEditTime : 2022-03-10 16:00:17 | ||||
|  * @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-detail\\bulk-detail.component.ts | ||||
| @ -30,14 +30,35 @@ export class WaybillManagementBulkeDetailComponent implements OnInit { | ||||
|   attObj: any; | ||||
|   isVisible = false; | ||||
|   MapList: any[]=[]; | ||||
|   trajectory = 'car'; | ||||
|   mapList:any[] = [];  //地图点位数据组 | ||||
|   addressItems:any[] = [];  //打点地址数据组 | ||||
|   imges: any; | ||||
|   unLoadingPlaceVOList: any = []; | ||||
|   logColumns: STColumn[] = [ | ||||
|   logColumns2: STColumn[] = [ | ||||
|     { title: '时间', index: 'vinOutTime' }, | ||||
|     { title: '地点', index: 'cityName' }, | ||||
|   ]; | ||||
|   trajectory = 'car'; | ||||
|   addressItems: any[] = []; //打点地址数据组 | ||||
|   logColumns: STColumn[] = [ | ||||
|     { title: '款项', index: 'costCodeLabel' }, | ||||
|     { title: '小计(元)', render: 'price' }, | ||||
|     { title: '运输费(元)', render: 'price' }, | ||||
|     { title: '附加费(元)', render: 'surcharge' }, | ||||
|     { title: '支付时间', index: 'paymentTime' }, | ||||
|     { | ||||
|       title: '支付状态', | ||||
|       className: 'text-center', | ||||
|       index: 'paymentStatus', | ||||
|       type: 'badge', | ||||
|       width: '120px', | ||||
|       badge: { | ||||
|         '1': { text: '待申请', color: 'warning' }, | ||||
|         '2': { text: '已支付', color: 'success' }, | ||||
|         '3': { text: '已拒绝', color: 'warning' }, | ||||
|         '4': { text: '申请中', color: 'warning' } | ||||
|       } | ||||
|     } | ||||
|   ]; | ||||
|   constructor( | ||||
|     private route: ActivatedRoute, | ||||
|     private msgSrv: NzMessageService, | ||||
| @ -50,7 +71,7 @@ export class WaybillManagementBulkeDetailComponent implements OnInit { | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initData() | ||||
|     this.MapInit() | ||||
|     this.getDriverTrajectory() | ||||
|   } | ||||
|   initData() { | ||||
|     const params = { | ||||
| @ -137,8 +158,8 @@ sureArrive(item: any) { | ||||
|     this.initData() | ||||
| }); | ||||
| } | ||||
|   // 获取轨迹 | ||||
|   MapInit() { | ||||
|   // 获取车辆轨迹 | ||||
|   getTrajectory(){ | ||||
|     this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         const points = res.trackArray; | ||||
| @ -149,8 +170,8 @@ sureArrive(item: any) { | ||||
|             lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))] | ||||
|           }); | ||||
|         }); | ||||
|         this.MapList = list; | ||||
|         this.addressItems = res.parkArray; | ||||
|         this.mapList = list; | ||||
|         this.addressItems = res.cityArray; | ||||
|         if(this.addressItems && this.addressItems.length > 0){ | ||||
|           this.addressItems.forEach(item => { | ||||
|             item.vinOutTime = this.getLocalTime(item.vinOutTime); | ||||
| @ -160,6 +181,36 @@ sureArrive(item: any) { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|    // 获取司机轨迹 | ||||
|    getDriverTrajectory(){ | ||||
|     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         const points = res.tracks; | ||||
|         let list :any[] = []; | ||||
|         points?.forEach((item: any) => { | ||||
|           list.push({ | ||||
|             name: item.hgt, | ||||
|             lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))] | ||||
|           }); | ||||
|         }); | ||||
|         this.mapList = list; | ||||
|         this.addressItems = [...res.enclosureDataAppTrack]; | ||||
|         if(this.addressItems && this.addressItems.length > 0){ | ||||
|           this.addressItems.forEach(item => { | ||||
|             item.vinOutTime = this.getLocalTime(item.gtm); | ||||
|             item.cityName = item.appAdress; | ||||
|           }); | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|    } | ||||
|    trajectoryChange(event:any){ | ||||
|     if(event ==='car'){ | ||||
|       this.getTrajectory() | ||||
|     }else if(event ==='driver'){ | ||||
|       this.getDriverTrajectory(); | ||||
|     } | ||||
|  } | ||||
|   getLocalTime(time: any) { | ||||
|     return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss'); | ||||
|   } | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <!-- | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 15:31:52 | ||||
|  * @LastEditTime : 2022-03-09 13:40:42 | ||||
|  * @LastEditTime : 2022-03-10 16:02:51 | ||||
|  * @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\\vehicle-detail\\vehicle-detail.component.html | ||||
| @ -132,7 +132,7 @@ | ||||
| </div> | ||||
| </nz-card> | ||||
| <nz-card [nzTitle]="'运费信息' +'(到货后'+i?.paymentDays+'天内支付运费)'" #distannce3> | ||||
|   <st #st [data]="i?.billExpenseDetailVOList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|   <!-- <st #st [data]="i?.billExpenseDetailVOList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|     <ng-template st-row="price" let-item let-index="index"> | ||||
|       {{ item.price | currency}} | ||||
|     </ng-template> | ||||
| @ -143,7 +143,20 @@ | ||||
|   <div> | ||||
|     总计:<span style="color: #da001b; font-size: 18px">{{ i?.freight | currency: '¥' }}</span> | ||||
|   </div> | ||||
|   <div>收款人:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div> | ||||
|   <div>收款人:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div> --> | ||||
|   <st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|     <ng-template st-row="price" let-item let-index="index"> | ||||
|       {{ item.price | currency }} | ||||
|     </ng-template> | ||||
|     <ng-template st-row="surcharge" let-item let-index="index"> | ||||
|       {{ item.surcharge | currency }} | ||||
|     </ng-template> | ||||
|   </st> | ||||
|   <div> | ||||
|     总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }}, | ||||
|     附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}% ) | ||||
|   </div> | ||||
|   <div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}</div> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card nzTitle="附件信息" #distannce4> | ||||
| @ -170,22 +183,22 @@ | ||||
|     <sv label="是否回单"> | ||||
|       {{i?.receiptType == 1 ?'是':'否'}} | ||||
|     </sv> | ||||
|     <sv label="回单类型"> | ||||
|     <sv label="回单类型" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptTypeLabel}} | ||||
|     </sv> | ||||
|     <sv label="联系人"> | ||||
|     <sv label="联系人" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptUser}}{{ i?.receiptUserPhone ? ' /' + i?.receiptUserPhone : ''}} | ||||
|     </sv> | ||||
|     <sv label="所在地区"> | ||||
|     <sv label="所在地区" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptPlace}} | ||||
|     </sv> | ||||
|     <sv label="详细地址"> | ||||
|     <sv label="详细地址" *ngIf="i?.receiptType == 1"> | ||||
|       {{i?.receiptAddress}} | ||||
|     </sv> | ||||
|    | ||||
|   </sv-container> | ||||
|   <sv-container col="1" class="mt-md"> | ||||
|     <sv label="回单凭证"> | ||||
|     <sv label="回单凭证" *ngIf="i?.receiptType == 1"> | ||||
|       <app-imagelist [imgList]="[i?.receiptFilePath]"></app-imagelist> | ||||
|     </sv> | ||||
|     <sv label="备注"> | ||||
| @ -193,21 +206,22 @@ | ||||
|     </sv> | ||||
|   </sv-container> | ||||
| </nz-card> | ||||
|  | ||||
| <nz-card> | ||||
|   <div nz-row> | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" id="distannce5"  [nzExtra]="extraTemplate" #distannce5> | ||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> | ||||
|       <div nz-row> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           <st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> | ||||
|           </st> | ||||
|         </div> | ||||
|         <div nz-col [nzSpan]="12"> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="MapList"></amap-path-simplifier> | ||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier> | ||||
|         </div> | ||||
|       </div> | ||||
|     </nz-card> | ||||
|     <ng-template #extraTemplate> | ||||
|       <nz-radio-group [(ngModel)]="trajectory"> | ||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> | ||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||
|       </nz-radio-group> | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /* | ||||
|  * @Author: your name | ||||
|  * @Date: 2021-12-03 15:31:52 | ||||
|  * @LastEditTime : 2022-03-02 16:26:15 | ||||
|  * @LastEditTime : 2022-03-10 16:10:51 | ||||
|  * @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\\vehicle-detail\\vehicle-detail.component.ts | ||||
| @ -26,18 +26,32 @@ export class WaybillManagementVehicleDetailComponent implements OnInit { | ||||
|  | ||||
|   id = this.route.snapshot.params.id; | ||||
|   MapList: any[]=[]; | ||||
|   trajectory = 'car'; | ||||
|   mapList:any[] = [];  //地图点位数据组 | ||||
|   addressItems:any[] = [];  //打点地址数据组 | ||||
|   i: any; | ||||
|   totalObj: any; | ||||
|   attObj: any; | ||||
|   isVisible = false; | ||||
|   imges: any; | ||||
|   unLoadingPlaceVOList: any = []; | ||||
|   logColumns: STColumn[] = [ | ||||
|   logColumns2: STColumn[] = [ | ||||
|     { title: '时间', index: 'vinOutTime' }, | ||||
|     { title: '地点', index: 'cityName' }, | ||||
|     { title: '地点', index: 'cityName' } | ||||
|   ]; | ||||
|   billExpenses: any[] = []; //运费信息表格信息 | ||||
|   logColumns: STColumn[] = [ | ||||
|     { title: '款项', index: 'costCodeLabel' }, | ||||
|     { title: '小计(元)', render: 'price' }, | ||||
|     { title: '运输费(元)', render: 'price' }, | ||||
|     { title: '附加费(元)', render: 'surcharge' }, | ||||
|     { title: '支付时间', index: 'paymentTime' }, | ||||
|     { | ||||
|       title: '支付状态', | ||||
|       className: 'text-center', | ||||
|       index: 'paymentStatusLabel', | ||||
|     } | ||||
|   ]; | ||||
|   trajectory = 'car'; | ||||
|   addressItems: any[] = []; //打点地址数据组 | ||||
|  | ||||
|   constructor( | ||||
|     private route: ActivatedRoute, | ||||
| @ -50,7 +64,7 @@ export class WaybillManagementVehicleDetailComponent implements OnInit { | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initData() | ||||
|     this.MapInit() | ||||
|     this.getTrajectory() | ||||
|   } | ||||
|   initData() { | ||||
|     const params = { | ||||
| @ -62,8 +76,10 @@ export class WaybillManagementVehicleDetailComponent implements OnInit { | ||||
|       this.unLoadingPlaceVOList.push(...res.dischargePlace) | ||||
|       console.log(this.unLoadingPlaceVOList) | ||||
|       this.i = res; | ||||
|       this.attObj = this.i?.billExpenseDetailVOList?.filter((data: any) => data.expenseCode === 'ATT')[0]; | ||||
|       this.totalObj = this.i?.billExpenseDetailVOList?.filter((data: any) => data.expenseCode === 'TOTAL')[0]; | ||||
|       this.billExpenses = this.i?.billExpenseDetailVOList?.filter( | ||||
|         (data: any) => data.costCode === 'PRE' || data.costCode === 'RECE' || data.costCode === 'BACK' | ||||
|       ); | ||||
|       this.i.scheduleVOList = this.i?.scheduleVOList?.filter((data: any) => data.displayStatus !== 'HIDE'); | ||||
|     }) | ||||
|   } | ||||
|  | ||||
| @ -130,8 +146,9 @@ goDistance(elf: NzCardComponent) { | ||||
|     | ||||
|   }); | ||||
|   } | ||||
|     // 获取轨迹 | ||||
|     MapInit() { | ||||
|  | ||||
|   // 获取车辆轨迹 | ||||
|   getTrajectory(){ | ||||
|     this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         const points = res.trackArray; | ||||
| @ -142,8 +159,8 @@ goDistance(elf: NzCardComponent) { | ||||
|             lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))] | ||||
|           }); | ||||
|         }); | ||||
|           this.MapList = list; | ||||
|           this.addressItems = res.parkArray; | ||||
|         this.mapList = list; | ||||
|         this.addressItems = res.cityArray; | ||||
|         if(this.addressItems && this.addressItems.length > 0){ | ||||
|           this.addressItems.forEach(item => { | ||||
|             item.vinOutTime = this.getLocalTime(item.vinOutTime); | ||||
| @ -153,6 +170,36 @@ goDistance(elf: NzCardComponent) { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|    // 获取司机轨迹 | ||||
|    getDriverTrajectory(){ | ||||
|     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.id }).subscribe(res => { | ||||
|       if (res) { | ||||
|         const points = res.tracks; | ||||
|         let list :any[] = []; | ||||
|         points?.forEach((item: any) => { | ||||
|           list.push({ | ||||
|             name: item.hgt, | ||||
|             lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))] | ||||
|           }); | ||||
|         }); | ||||
|         this.mapList = list; | ||||
|         this.addressItems = [...res.enclosureDataAppTrack]; | ||||
|         if(this.addressItems && this.addressItems.length > 0){ | ||||
|           this.addressItems.forEach(item => { | ||||
|             item.vinOutTime = this.getLocalTime(item.gtm); | ||||
|             item.cityName = item.appAdress; | ||||
|           }); | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|    } | ||||
|    trajectoryChange(event:any){ | ||||
|     if(event ==='car'){ | ||||
|       this.getTrajectory() | ||||
|     }else if(event ==='driver'){ | ||||
|       this.getDriverTrajectory(); | ||||
|     } | ||||
|  } | ||||
|   getLocalTime(time: any) { | ||||
|     return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss'); | ||||
|   } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user