Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-15 13:17:42 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-18 17:21:57 | ||||
|  * @LastEditTime : 2022-03-02 13:50:12 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\confir-receipt\\confir-receipt.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| @ -17,7 +17,20 @@ | ||||
|  | ||||
| <sv-container col="1"> | ||||
|   <sv label="费用明细"> | ||||
|     <st #st [widthMode]="{ type: 'strict' }" [data]="costDetail" [columns]="columns" bordered="true" [page]="{ show: false }"></st> | ||||
|     <st #st [widthMode]="{ type: 'strict' }" [data]="costDetail" [columns]="columns" bordered="true" [page]="{ show: false }"> | ||||
|       <ng-template st-row="PRE" let-item let-index="index"> | ||||
|         {{item.PRE | currency}} | ||||
|       </ng-template> | ||||
|       <ng-template st-row="RECE" let-item let-index="index"> | ||||
|         {{ item.RECE | currency }} | ||||
|       </ng-template> | ||||
|       <ng-template st-row="BACK" let-item let-index="index"> | ||||
|         {{ item.BACK | currency }} | ||||
|       </ng-template> | ||||
|       <ng-template st-row="traiPrice" let-item let-index="index"> | ||||
|         {{ item.traiPrice | currency }} | ||||
|       </ng-template> | ||||
|     </st> | ||||
|   </sv> | ||||
|   <sv label="司机车辆"> | ||||
|     <div>{{ dataInfo?.driverName }} / {{ dataInfo?.driverPhone }}/ {{ dataInfo?.carNo }}</div> | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-15 13:17:42 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-02-25 15:34:07 | ||||
|  * @LastEditTime : 2022-03-02 13:52:27 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\confir-receipt\\confir-receipt.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -143,23 +143,27 @@ export class VehicleConfirReceiptComponent implements OnInit { | ||||
|     this.columns = [ | ||||
|       { | ||||
|         title: '预付', | ||||
|         index: 'PRE' | ||||
|         index: 'PRE', | ||||
|         render:'PRE' | ||||
|       }, | ||||
|       { | ||||
|         title: '到付', | ||||
|         index: 'RECE' | ||||
|       }, | ||||
|       { | ||||
|         title: '油卡', | ||||
|         index: 'OIL' | ||||
|         index: 'RECE', | ||||
|         render:'RECE' | ||||
|       }, | ||||
|       // { | ||||
|       //   title: '油卡', | ||||
|       //   index: 'OIL' | ||||
|       // }, | ||||
|       { | ||||
|         title: '回单付', | ||||
|         index: 'BACK' | ||||
|         index: 'BACK', | ||||
|         render:'BACK' | ||||
|       }, | ||||
|       { | ||||
|         title: '总运费', | ||||
|         index: 'traiPrice' | ||||
|         index: 'traiPrice', | ||||
|         render:'traiPrice' | ||||
|       } | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
| @ -1,66 +1,49 @@ | ||||
| <!-- | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-03 11:10:14 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-18 17:27:30 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\assigned-car\\assigned-car.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
| <div> | ||||
|   <div nz-row> | ||||
|     <div nz-col nzSpan="18"> | ||||
|       <sf #sf [schema]="schema" mode="search" [ui]="ui" [compact]="true" (formSubmit)="st.load(1)" (formReset)="reset()"></sf> | ||||
|     </div> | ||||
|     <div nz-col nzSpan="6"> | ||||
|       <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="addDriver()"><i nz-icon nzType="plus"></i>添加司机</button> | ||||
|       <sf #sf [schema]="schema" mode="search" [ui]="ui" [compact]="true" (formSubmit)="st.load(1)" | ||||
|         (formReset)="reset()"></sf> | ||||
|     </div> | ||||
|     <!-- <div nz-col nzSpan="6"> | ||||
|       <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="addDriver()"><i nz-icon | ||||
|           nzType="plus"></i>添加司机</button> | ||||
|     </div> --> | ||||
|   </div> | ||||
|  | ||||
|   <div> | ||||
|     <st | ||||
|       #st | ||||
|       [data]="service.$api_get_practice_car_list" | ||||
|     <st #st [data]="service.$api_get_practice_car_list" | ||||
|       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|       [columns]="columns" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }" | ||||
|       [columns]="columns" [res]="{ reName: { list: 'data.records', total: 'data.total' },process:dataProcess }" | ||||
|       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|       (change)="changeSt($event)" | ||||
|     > | ||||
|       (change)="changeSt($event)"> | ||||
|       <ng-template st-row="carId" let-item let-index="index"> | ||||
|         <nz-select [(ngModel)]="item.carId" style="width: 280px"> | ||||
|         <nz-select [(ngModel)]="item.carId" style="width: 280px;"> | ||||
|           <nz-option [nzValue]="''" nzLabel="不限"></nz-option> | ||||
|           <nz-option | ||||
|             [nzValue]="car.carId" | ||||
|             [nzLabel]="car.carNo" | ||||
|             *ngFor="let car of item.userCarLicenseDesensitizationVOList" | ||||
|             [nzCustomContent]="true" | ||||
|           > | ||||
|             <span>{{ car.carNo }} -</span> | ||||
|             <span>{{ car.carLength }}米,{{ car.carLoad }}吨 -</span> | ||||
|             <span *ngIf="car?.approvalStatus === 20 && !car.carStatus" class="text-success-dark">空闲</span> | ||||
|             <span *ngIf="car?.approvalStatus === 20 && car.carStatus" class="text-warning-dark">已被指派</span> | ||||
|           <nz-option [nzValue]="car.carId" [nzLabel]="car.carNo" | ||||
|             *ngFor="let car of item.userCarLicenseDesensitizationVOList" [nzCustomContent]="true"> | ||||
|             <span>{{car.carNo}} -</span> | ||||
|             <span>{{car.carLength}}米,{{car.carLoad}}吨 -</span> | ||||
|             <span *ngIf="car?.approvalStatus === 20 && !car.carStatus " class="text-success-dark">空闲</span> | ||||
|             <span *ngIf="car?.approvalStatus === 20 && car.carStatus " class="text-warning-dark">在途</span> | ||||
|             <span *ngIf="car?.approvalStatus !== 20" class="text-red-dark">未认证</span> | ||||
|             <!-- <span [ngClass]="cardBADGE[car.carStatus]?.color">{{cardBADGE[car.carStatus]?.text}}</span> --> | ||||
|           </nz-option> | ||||
|         </nz-select> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="carCaptain" let-item let-index> | ||||
|         <span>{{ item.captainName }} {{ item.captainPhone }}</span> | ||||
|         <a (click)="setCarCaptain(item)">设置</a> | ||||
|         <span>{{item.captainName}} {{item.captainPhone}}</span> | ||||
|         <a (click)="verifyCanSetCarCaptain(item)">设置</a> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="driverStatus" let-item let-index> | ||||
|         <span *ngIf="item?.certificationStatus === 1 && item.driverStatus === 0" class="text-success-dark">空闲</span> | ||||
|         <span *ngIf="item?.certificationStatus === 1 && item.driverStatus === 1" class="text-warning-dark">已被指派</span> | ||||
|         <span *ngIf="item?.certificationStatus === 1 && item.driverStatus === 1" class="text-warning-dark">在途</span> | ||||
|         <span *ngIf="item?.certificationStatus !== 1" class="text-red-dark">未认证</span> | ||||
|       </ng-template> | ||||
|     </st> | ||||
|   </div> | ||||
|   <div class="modal-footer"> | ||||
|     <button nz-button type="button" (click)="close()">关闭</button> | ||||
|     <button nz-button type="submit" nzType="primary" (click)="save()" [disabled]="!selectedRows" [nzLoading]="service.http.loading" | ||||
|       >发布并指派给司机</button | ||||
|     > | ||||
|     <button nz-button type="submit" nzType="primary" (click)="verifyVechicleStatus(params)" [disabled]="!selectedRows" | ||||
|       [nzLoading]="service.http.loading">发布并指派给司机</button> | ||||
|   </div> | ||||
| </div> | ||||
|  | ||||
| @ -2,8 +2,9 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { STChange, STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; | ||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||
| import { EAEnvironmentService } from '@shared'; | ||||
| import { NzMessageService } from 'ng-zorro-antd/message'; | ||||
| import { NzModalRef } from 'ng-zorro-antd/modal'; | ||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { SupplyManagementService } from '../../services/supply-management.service'; | ||||
| import { SupplyManagementAddDriversComponent } from '../add-drivers/add-drivers.component'; | ||||
| import { CarAddmodalComponent } from '../addmodal/addmodal.component'; | ||||
| @ -29,7 +30,6 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|   @ViewChild('st') st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) sf!: SFComponent; | ||||
|   status: string = 'anew'; | ||||
|   type: any; | ||||
|   url = ''; // 请求的api地址 | ||||
|   params: any = {}; // 传进来的参数 | ||||
|   cardBADGE: STColumnBadge | any = { | ||||
| @ -43,6 +43,8 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|     private msgSrv: NzMessageService, | ||||
|     public service: SupplyManagementService, | ||||
|     private modalHelper: ModalHelper, | ||||
|     private envSrv: EAEnvironmentService, | ||||
|     private modalSrv: NzModalService | ||||
|   ) { | ||||
|     this.initSF(); | ||||
|     this.initSt(); | ||||
| @ -54,10 +56,14 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|   get reqParams() { | ||||
|     return { | ||||
|       ...this.sf?.value, | ||||
|       loadingTime: this.params?.loadingTime, | ||||
|       unloadingTime: this.params?.unloadingTime | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   /** | ||||
| * 初始化查询表单 | ||||
| */ | ||||
| @ -67,14 +73,15 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|         _$expand: { type: 'boolean', ui: { hidden: true } }, | ||||
|         nameOrPhone: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           title: '承运司机', | ||||
|           ui: { | ||||
|             placeholder: '请输入司机姓名/手机号' | ||||
|           } | ||||
|         }, | ||||
|         carNo: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           title: '车牌号', | ||||
|           maxLength: 9, | ||||
|           ui: { | ||||
|             placeholder: '请输入车牌号' | ||||
|           } | ||||
| @ -100,13 +107,12 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|   } | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     console.log(this.type) | ||||
|   } | ||||
|  | ||||
|   dataProcess(data: STData[]): STData[] { | ||||
|     return data.map((i, index) => { | ||||
|       i.carId = ''; | ||||
|       i.disabled = i.carStatus === '1'; | ||||
|       i.disabled = (i?.certificationStatus === 1 && i.driverStatus === 1); | ||||
|       const defaultCar = i?.userCarLicenseDesensitizationVOList?.find((item: any) => item.isDefault); | ||||
|       if (defaultCar) { | ||||
|         i.carId = defaultCar?.carId; | ||||
| @ -116,16 +122,15 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|   } | ||||
|  | ||||
|   save(): void { | ||||
|     if (this.selectedRows) { | ||||
|       const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = this.selectedRows; | ||||
|       const params: any = { carId, driverId, carCaptainId }; | ||||
|       this.service.request(this.url, { ...params, ...this.params }).subscribe((res: any) => { | ||||
|         if (res) { | ||||
|           this.modal.close(res); | ||||
|         } | ||||
|       }) | ||||
|     const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = this.selectedRows; | ||||
|     const params: any = { carId, driverId, carCaptainId }; | ||||
|     this.service.request(this.url, { ...params, ...this.params }).subscribe((res: any) => { | ||||
|       if (res) { | ||||
|         this.service.msgSrv.success('指派成功!'); | ||||
|         this.modal.close(res); | ||||
|       } | ||||
|     }) | ||||
|  | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   changeSt(e: STChange): void { | ||||
| @ -143,10 +148,28 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 校验司机是否能设置车队长 | ||||
|    * @param item 当前对象 | ||||
|    */ | ||||
|   verifyCanSetCarCaptain(item: any) { | ||||
|     this.service.request(this.service.$api_get_sys_config, [{ itemKey: 'sys.config.shipper.setCarCaptain', businessId: this.envSrv.env.enterpriseId }]).subscribe(res => { | ||||
|       if (res && res.length > 0) { | ||||
|         const { itemValue } = res[0]; | ||||
|         if (itemValue !== '1') { | ||||
|           this.service.msgSrv.error('不可设置车队长!'); | ||||
|           return; | ||||
|         } | ||||
|         this.setCarCaptain(item); | ||||
|       } | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 设置车队长 | ||||
|    */ | ||||
|   setCarCaptain(item: any) { | ||||
|  | ||||
|     this.modalHelper.create(SupplyManagementAddDriversComponent, { dirvierInfo: item }, { | ||||
|       size: 900, | ||||
|       modalOptions: { nzMaskClosable: false, nzTitle: '设置' } | ||||
| @ -168,4 +191,57 @@ export class SupplyManagementVehicleAssignedCarComponent implements OnInit { | ||||
|     this.sf.reset(); | ||||
|     this.st.load(1); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 验证车辆的状态 | ||||
|    */ | ||||
|   verifyVechicleStatus(params: any) { | ||||
|     if (this.selectedRows) { | ||||
|       const obj = this.status === 'anew' ? { resourceId: params.id } : { ...params }; | ||||
|       const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = this.selectedRows; | ||||
|       const carInfo: any = { carId, driverId, carCaptainId }; | ||||
|       this.service.request(this.service.$api_verify_vehicle_status, { ...obj, ...carInfo }).subscribe(res => { | ||||
|         if (res) { | ||||
|           const { title, alert, subContent, content } = res; | ||||
|           switch (alert) { | ||||
|             case 'Error': | ||||
|               // if (code === '3' || code === '4' || code === '8') { | ||||
|               //   this.error(title, subContent, '#CF3834'); | ||||
|               // } else { | ||||
|               this.error(title, content, subContent); | ||||
|               break; | ||||
|             case 'Warn': | ||||
|               this.showConfirm(title, content, subContent); | ||||
|               break; | ||||
|             case 'Success': | ||||
|               this.save(); | ||||
|               break; | ||||
|           } | ||||
|         } | ||||
|       }) | ||||
|     } | ||||
|  | ||||
|   } | ||||
|  | ||||
|   error(title: string, content: string, subContent: string): void { | ||||
|     this.modalSrv.error({ | ||||
|       nzTitle: title, | ||||
|       nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`, | ||||
|       nzOkText: '知道了' | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   showConfirm(title: string, content: string, subContent: string): void { | ||||
|     this.modalSrv.confirm({ | ||||
|       nzTitle: title, | ||||
|       nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`, | ||||
|       nzOkText: '继续', | ||||
|       nzCancelText: '取消', | ||||
|       nzOnOk: () => { | ||||
|         this.save(); | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -4,48 +4,35 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2022-01-12 10:52:50 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-01-18 17:27:53 | ||||
|  * @LastEditTime : 2022-03-02 14:27:20 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\choose-famifiar.component.html | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
| --> | ||||
|  | ||||
| <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button> | ||||
| <!-- <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button> --> | ||||
| <!-- 搜索区 --> | ||||
| <div nz-row nzGutter="8"> | ||||
|   <div nz-col [nzSpan]="12"> | ||||
|     <div nz-row nzGutter="8"> | ||||
|       <div nz-col [nzSpan]="18"> | ||||
|         <sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf> | ||||
|       </div> | ||||
|       <div nz-col [nzSpan]="6"> | ||||
|         <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st.load(1)">查询</button> | ||||
|         <button nz-button (click)="resetSF()">重置</button> | ||||
|       </div> | ||||
|     </div> | ||||
|   <div nz-col [nzSpan]="18"> | ||||
|     <sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf> | ||||
|   </div> | ||||
|   <div nz-col [nzSpan]="6"> | ||||
|     <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st.load(1)">查询</button> | ||||
|     <button nz-button (click)="resetSF()">重置</button> | ||||
|   </div> | ||||
| </div> | ||||
| <div nz-row nzGutter="8"> | ||||
|   <div nz-col [nzSpan]="12"> | ||||
|     <!-- 数据列表 --> | ||||
|     <st | ||||
|       #st | ||||
|       *ngIf="columns" | ||||
|       [bordered]="true" | ||||
|       [data]="service.$api_getList_card" | ||||
|       [columns]="columns" | ||||
|       size="small" | ||||
|     <st #st [bordered]="true" [data]="service.$api_getListCars" [columns]="columns" size="small" | ||||
|       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: reqProcess }" | ||||
|       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|       [loading]="service.http.loading" | ||||
|       [widthMode]="{ type: 'strict' }" | ||||
|       [scroll]="{ x: '600px' }" | ||||
|       style="margin-top: 22px; width: 100%" | ||||
|     > | ||||
|       [loadingDelay]="500" [loading]="service.http.loading" [widthMode]="{ type: 'strict' }" [scroll]="{ x: '600px' }" | ||||
|       style="margin-top: 22px"> | ||||
|       <ng-template st-row="userCarLicenseDesensitizationVOList" let-item let-index="index"> | ||||
|         <nz-select [(ngModel)]="item.default" (ngModelChange)="carChange($event, item)" style="width: 100%"> | ||||
|           <nz-option nzValue="" nzLabel="不限"></nz-option> | ||||
|           <nz-option [nzValue]="cart" [nzLabel]="cart.carNo" *ngFor="let cart of item.userCarLicenseDesensitizationVOList"> </nz-option> | ||||
|           <nz-option [nzValue]="cart" [nzLabel]="cart.carNo" | ||||
|             *ngFor="let cart of item.userCarLicenseDesensitizationVOList"> </nz-option> | ||||
|         </nz-select> | ||||
|       </ng-template> | ||||
|     </st> | ||||
| @ -53,21 +40,18 @@ | ||||
|   <div nz-col [nzSpan]="12"> | ||||
|     <!-- 选中列表 --> | ||||
|     <div>已选择{{ st2Data.length }}位司机</div> | ||||
|     <st | ||||
|       #st2 | ||||
|       *ngIf="columns2" | ||||
|       [bordered]="true" | ||||
|       [data]="st2Data" | ||||
|       [columns]="columns2" | ||||
|       size="small" | ||||
|       [page]="{ show: false }" | ||||
|       [scroll]="{ x: '600px', y: '300px' }" | ||||
|       style="width: 100%" | ||||
|     > | ||||
|     <st #st2 [bordered]="true" [data]="st2Data" [columns]="columns2" size="small" | ||||
|       [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" | ||||
|       [res]="{ reName: { list: 'data.records', total: 'data.total' } }" | ||||
|       [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" | ||||
|       [loadingDelay]="500" [loading]="service.http.loading" [widthMode]="{ type: 'strict' }" [scroll]="{ x: '600px' }"> | ||||
|       <ng-template st-row="captain" let-item let-index="index"> | ||||
|         <span>{{ item.captainName }} {{ item.captainPhone }}</span>   | ||||
|         <a (click)="setCaptain(item, index)">设置</a> | ||||
|       </ng-template> | ||||
|       <ng-template st-row="defaultCar" let-item let-index="index"> | ||||
|         {{item.default?.carNo}} | ||||
|       </ng-template> | ||||
|     </st> | ||||
|   </div> | ||||
| </div> | ||||
|  | ||||
| @ -3,7 +3,7 @@ import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STChange, STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | ||||
| import { ModalHelper } from '@delon/theme'; | ||||
| import { processSingleSort } from '@shared'; | ||||
| import { EAEnvironmentService, processSingleSort } from '@shared'; | ||||
| import { NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer'; | ||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { SupplyManagementAddDriversComponent } from 'src/app/routes/supply-management/components/add-drivers/add-drivers.component'; | ||||
| @ -37,7 +37,7 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|   submitUrl = ''; | ||||
|  | ||||
|   @Input() | ||||
|   submitParams = {}; | ||||
|   submitParams:any; | ||||
|  | ||||
|   constructor( | ||||
|     private modal: NzModalRef, | ||||
| @ -47,8 +47,8 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|     public service: SupplyManagementService, | ||||
|     private modalService: NzModalService, | ||||
|     private modalHelper: ModalHelper, | ||||
|     private cdr: ChangeDetectorRef | ||||
|   ) {} | ||||
|     private envSrv: EAEnvironmentService | ||||
|   ) { } | ||||
|  | ||||
|   /** | ||||
|    * 查询参数 | ||||
| @ -61,26 +61,23 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|   } | ||||
|   ngOnInit() { | ||||
|     this.initSF(); | ||||
|  | ||||
|     setTimeout(() => { | ||||
|       this.initST(); | ||||
|       this.initST2(); | ||||
|     }, 200); | ||||
|     this.initST(); | ||||
|     this.initST2(); | ||||
|   } | ||||
|  | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         name: { | ||||
|         nameOrPhone: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           title: '承运司机', | ||||
|           ui: { | ||||
|             placeholder: '请输入司机姓名/手机号' | ||||
|           } | ||||
|         }, | ||||
|         name2: { | ||||
|         carNo: { | ||||
|           type: 'string', | ||||
|           title: '', | ||||
|           title: '车牌号', | ||||
|           ui: { | ||||
|             placeholder: '请输入车牌号' | ||||
|           } | ||||
| @ -98,13 +95,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|     this.columns = [ | ||||
|       { | ||||
|         title: '司机姓名', | ||||
|         index: 'name', | ||||
|         width: 120 | ||||
|         index: 'name' | ||||
|       }, | ||||
|       { | ||||
|         title: '手机号', | ||||
|         index: 'telephone', | ||||
|         width: 120 | ||||
|         index: 'telephone' | ||||
|       }, | ||||
|       { | ||||
|         title: '指定车辆', | ||||
| @ -115,7 +110,6 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|         title: '状态', | ||||
|         className: 'text-center', | ||||
|         index: 'certificationStatus', | ||||
|         width: 120, | ||||
|         type: 'badge', | ||||
|         badge: { | ||||
|           '-1': { text: '未提交', color: 'default' }, | ||||
| @ -127,12 +121,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|       { | ||||
|         title: '操作', | ||||
|         className: 'text-center', | ||||
|         width: 80, | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '选择', | ||||
|             iif: item => item.showChoose != false, | ||||
|             click: (_record, _modal, _instance) => this.choose(_record), | ||||
|             click: (_record, _modal, _instance) => this.verifyVechicleStatus(_record), | ||||
|             iifBehavior: 'disabled' | ||||
|           } | ||||
|         ] | ||||
| @ -145,7 +138,7 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|       { | ||||
|         title: '司机姓名', | ||||
|         index: 'name', | ||||
|         width: 120 | ||||
|         width: '90px' | ||||
|       }, | ||||
|       { | ||||
|         title: '手机号', | ||||
| @ -155,17 +148,17 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|       { | ||||
|         title: '车队长', | ||||
|         render: 'captain', | ||||
|         width: '100px' | ||||
|         width: '200px' | ||||
|       }, | ||||
|       { | ||||
|         title: '指定车辆', | ||||
|         index: 'carNo', | ||||
|         render: 'defaultCar', | ||||
|         width: '130px' | ||||
|       }, | ||||
|       { | ||||
|         title: '操作', | ||||
|         className: 'text-center', | ||||
|         width: 80, | ||||
|         width: '90px', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '移除', | ||||
| @ -198,6 +191,23 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * 校验司机是否能设置车队长 | ||||
|    * @param item 当前对象 | ||||
|    */ | ||||
|   verifyCanSetCarCaptain(item: any, index: any) { | ||||
|     this.service.request(this.service.$api_get_sys_config, [{ itemKey: 'sys.config.shipper.setCarCaptain', businessId: this.envSrv.env.enterpriseId }]).subscribe(res => { | ||||
|       if (res && res.length > 0) { | ||||
|         const { itemValue } = res[0]; | ||||
|         if (itemValue !== '1') { | ||||
|           this.service.msgSrv.error('不可设置车队长!'); | ||||
|           return; | ||||
|         } | ||||
|         this.setCaptain(item, index); | ||||
|       } | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   //设置车队长 | ||||
|   setCaptain(record: STData, index: any) { | ||||
|     this.modalHelper | ||||
| @ -260,5 +270,53 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit { | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   carChange(event: any, item: STData) {} | ||||
|   carChange(event: any, item: STData) { | ||||
|      | ||||
|   } | ||||
|  | ||||
|    /** | ||||
|  * 验证车辆的状态 | ||||
|  */ | ||||
|     verifyVechicleStatus(_record: STData) { | ||||
|       const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = _record; | ||||
|       const carInfo: any = { carId, driverId, carCaptainId }; | ||||
|       const goodsInfoList = this.submitParams?.goodsInfoList; | ||||
|       this.service.request(this.service.$api_verify_vehicle_status, { ...carInfo, goodsInfoList }).subscribe((res: any) => { | ||||
|         if (res) { | ||||
|           const { title, alert, subContent, content } = res; | ||||
|           switch (alert) { | ||||
|             case 'Error': | ||||
|               this.error(title, content, subContent); | ||||
|               break; | ||||
|             case 'Warn': | ||||
|               this.showConfirm(_record, title, content, subContent); | ||||
|               break; | ||||
|             case 'Success': | ||||
|               this.choose(_record); | ||||
|               break; | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
|    | ||||
|     } | ||||
|    | ||||
|     error(title: string, content: string, subContent: string): void { | ||||
|       this.modalService.error({ | ||||
|         nzTitle: title, | ||||
|         nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`, | ||||
|         nzOkText: '知道了' | ||||
|       }); | ||||
|     } | ||||
|    | ||||
|     showConfirm(_record: STData, title: string, content: string, subContent: string): void { | ||||
|       this.modalService.confirm({ | ||||
|         nzTitle: title, | ||||
|         nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`, | ||||
|         nzOkText: '继续', | ||||
|         nzCancelText: '取消', | ||||
|         nzOnOk: () => { | ||||
|           this.choose(_record); | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,3 +1,13 @@ | ||||
| /* | ||||
|  * @Description  :  | ||||
|  * @Version      : 1.0 | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-06 15:17:52 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-03-02 14:29:12 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\set-captain\\set-captain.component.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| import { AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute } from '@angular/router'; | ||||
| import { SFComponent, SFSchema, SFSchemaEnumType, SFUISchema } from '@delon/form'; | ||||
| @ -16,7 +26,7 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit { | ||||
|  | ||||
|   i: any; | ||||
|  | ||||
|   constructor(public http: _HttpClient, private cdr: ChangeDetectorRef, private route: ActivatedRoute) {} | ||||
|   constructor(public http: _HttpClient, private cdr: ChangeDetectorRef, private route: ActivatedRoute, private modal: NzModalRef,) {} | ||||
|  | ||||
|   ngOnInit(): void { | ||||
|     this.initSF(); | ||||
| @ -24,12 +34,11 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit { | ||||
|   initSF() { | ||||
|     this.schema = { | ||||
|       properties: { | ||||
|         name: { | ||||
|         captainPhone: { | ||||
|           type: 'string', | ||||
|           title: '车队长手机号' | ||||
|         } | ||||
|       }, | ||||
|       required: ['name'] | ||||
|     }; | ||||
|     this.ui = { | ||||
|       '*': { | ||||
| @ -39,6 +48,6 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit { | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   close() {} | ||||
|   save() {} | ||||
|   close() {this.modal.close()} | ||||
|   save() {this.modal.close(this.sf.value.captainPhone)} | ||||
| } | ||||
|  | ||||
| @ -864,7 +864,6 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|   } | ||||
|   //指派熟车 | ||||
|   chooseFamifiar(item: any) { | ||||
|     console.log('999'); | ||||
|     const modalRef = this.modalService.create({ | ||||
|       nzTitle: '指派熟车', | ||||
|       nzContent: SupplyManagementVehicleAssignedCarComponent, | ||||
| @ -873,7 +872,6 @@ export class SupplyManagementOnecarPublishComponent implements OnInit { | ||||
|         status: 'new', | ||||
|         url: this.service.$api_save_assign_whole, | ||||
|         params: item, | ||||
|         type: 'next' | ||||
|       }, | ||||
|       nzFooter: null | ||||
|     }); | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-03 11:10:14 | ||||
|  * @LastEditors  : Shiming | ||||
|  * @LastEditTime : 2022-03-02 10:10:18 | ||||
|  * @LastEditTime : 2022-03-02 14:27:18 | ||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\supply-management\\services\\supply-management.service.ts | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -163,4 +163,8 @@ export class SupplyManagementService extends BaseService { | ||||
|   public $api_goodsResourceOperateImport = '/api/sdc/uploadGoodsResource/goodsResourceOperateImport'; | ||||
|   // 根据货主ID查询网络货运人信息 | ||||
|   public $api_getNetworkTransporter = '/api/mdc/cuc/enterpriseInfo/operate/getNetworkTransporter'; | ||||
|   $api_verify_vehicle_status = `/api/sdc/goodsResourceShipper/saveVerify`;// 发布货源校验司机/车队长的状态 | ||||
|   $api_get_sys_config = `/api/mdc/pbc/sysConfigItem/findConfigValues`; // 根据项key、业务id获取配置信息 | ||||
|     // 获取指派熟车列表 | ||||
|     $api_getListCars = '/api/mdc/cuc/enterpriseVehicle/getPracticeCarList'; | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user