车辆对接
This commit is contained in:
		@ -313,7 +313,7 @@
 | 
			
		||||
</nz-card>
 | 
			
		||||
<nz-card>
 | 
			
		||||
  <div class="align-center">
 | 
			
		||||
    <!-- <button nz-button nzType="primary" (click)="submit('assign')" *ngIf="type === 'add'">指派熟车</button> -->
 | 
			
		||||
    <button nz-button nzType="primary" (click)="submitConfirm('assign')" *ngIf="type === 'add'">指派熟车</button>
 | 
			
		||||
    <button nz-button nzType="primary" style="margin-left: 48px" (click)="submit('publish')" *ngIf="type === 'add'">司机抢单</button>
 | 
			
		||||
    <button
 | 
			
		||||
      nz-button
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,7 @@ import { SupplyManagementService } from '../../services/supply-management.servic
 | 
			
		||||
import { SupplyManagementVehicleAssignedCarComponent } from '../assigned-car/assigned-car.component';
 | 
			
		||||
import { PublishAddressListComponent } from '../onecar-publish/address-list/address-list.component';
 | 
			
		||||
import { PublishSuccessComponent } from '../onecar-publish/publish-success/publish-success.component';
 | 
			
		||||
import { TranAgreementComponent } from '../tran-agreement/tran-agreement.component';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'app-publish-goods-onecar-publish',
 | 
			
		||||
@ -71,7 +72,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
     private route: ActivatedRoute,
 | 
			
		||||
     private eaCacheSrv: EACacheService,
 | 
			
		||||
     private amapService: AmapService,
 | 
			
		||||
    public service2: ShipperBaseService
 | 
			
		||||
    public shipperSrv: ShipperBaseService
 | 
			
		||||
   ) {
 | 
			
		||||
     this.validateForm1 = fb.group({
 | 
			
		||||
       loadingTime: [null, [Validators.required]],
 | 
			
		||||
@ -170,7 +171,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
              _$expand: (value: boolean) => value,
 | 
			
		||||
            },
 | 
			
		||||
            allowClear: true,
 | 
			
		||||
            asyncData: () => this.service2.getNetworkFreightForwarder(),
 | 
			
		||||
            asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
         externalResourceCode: {
 | 
			
		||||
@ -182,28 +183,16 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
           }
 | 
			
		||||
         },
 | 
			
		||||
         dispatchId: {
 | 
			
		||||
           type: 'string',
 | 
			
		||||
           title: '调度员',
 | 
			
		||||
           enum: [
 | 
			
		||||
             { label: '周涛', value: 1 },
 | 
			
		||||
             { label: '李诞', value: 2 }
 | 
			
		||||
           ],
 | 
			
		||||
           ui: {
 | 
			
		||||
             widget: 'select',
 | 
			
		||||
             placeholder: '请选择',
 | 
			
		||||
             allowClear: true,
 | 
			
		||||
             optionalHelp: '选择调度员,司机直接联系调度员 ; 不选择,司机直接联系您'
 | 
			
		||||
             // asyncData: () =>
 | 
			
		||||
             //   this.service.loadChildData2('0', '2').pipe(
 | 
			
		||||
             //     map((data: any) => {
 | 
			
		||||
             //       return data.map((m: any) => {
 | 
			
		||||
             //         return { label: m.name, value: m.id };
 | 
			
		||||
             //       });
 | 
			
		||||
             //     }),
 | 
			
		||||
             //   ),
 | 
			
		||||
             // change: (i) => this.updateCategory(i, '/categoryId2'),
 | 
			
		||||
           } as SFSelectWidgetSchema
 | 
			
		||||
         }
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          title: '调度员',
 | 
			
		||||
          ui: {
 | 
			
		||||
            widget: 'select',
 | 
			
		||||
            placeholder: '请选择',
 | 
			
		||||
            allowClear: true,
 | 
			
		||||
            optionalHelp: '选择调度员,司机直接联系调度员 ; 不选择,司机直接联系您',
 | 
			
		||||
            asyncData: () => this.shipperSrv.getStaffList2()
 | 
			
		||||
          } as SFSelectWidgetSchema
 | 
			
		||||
        }
 | 
			
		||||
       }
 | 
			
		||||
     };
 | 
			
		||||
     this.ui1 = {
 | 
			
		||||
@ -234,56 +223,82 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
        this.sf1.getProperty('/enterpriseProjectId')!.widget.reset(res);
 | 
			
		||||
      });
 | 
			
		||||
  }
 | 
			
		||||
   initSF3() {
 | 
			
		||||
     this.schema3 = {
 | 
			
		||||
       properties: {
 | 
			
		||||
         goodsTypeId: {
 | 
			
		||||
           type: 'string',
 | 
			
		||||
           title: '货物名称',
 | 
			
		||||
           enum: [
 | 
			
		||||
             { label: '服装', value: '1' },
 | 
			
		||||
             { label: '电子产品', value: '2' },
 | 
			
		||||
             { label: '其他', value: '3' }
 | 
			
		||||
           ],
 | 
			
		||||
           ui: {
 | 
			
		||||
             widget: 'select',
 | 
			
		||||
             placeholder: '请选择',
 | 
			
		||||
             errors: { required: '请选择货物名称' },
 | 
			
		||||
             change: (value, data) => {
 | 
			
		||||
               this.currentGoodsTypeName = data;
 | 
			
		||||
             }
 | 
			
		||||
             // asyncData: () =>
 | 
			
		||||
             //   this.categoryService.loadChildData2('0', '2').pipe(
 | 
			
		||||
             //     map((data: any) => {
 | 
			
		||||
             //       return data.map((m: any) => {
 | 
			
		||||
             //         return { label: m.name, value: m.id };
 | 
			
		||||
             //       });
 | 
			
		||||
             //     }),
 | 
			
		||||
             //   ),
 | 
			
		||||
             // change: (i) => this.updateCategory(i, '/categoryId2'),
 | 
			
		||||
           } as SFSelectWidgetSchema
 | 
			
		||||
         },
 | 
			
		||||
         goodsName: {
 | 
			
		||||
           type: 'string',
 | 
			
		||||
           title: '',
 | 
			
		||||
           maxLength: 20,
 | 
			
		||||
           ui: {
 | 
			
		||||
             errors: { required: '请填写货物名称' },
 | 
			
		||||
             visibleIf: {
 | 
			
		||||
               goodsTypeId: value => value === '其他'
 | 
			
		||||
             }
 | 
			
		||||
           }
 | 
			
		||||
         }
 | 
			
		||||
       },
 | 
			
		||||
       required: ['goodsTypeId', 'goodsName']
 | 
			
		||||
     };
 | 
			
		||||
     this.ui3 = {
 | 
			
		||||
       '*': {
 | 
			
		||||
         spanLabelFixed: 90,
 | 
			
		||||
         grid: { span: 12 }
 | 
			
		||||
       }
 | 
			
		||||
     };
 | 
			
		||||
   }
 | 
			
		||||
  initSF3() {
 | 
			
		||||
    this.schema3 = {
 | 
			
		||||
      properties: {
 | 
			
		||||
        goodsTypeId: {
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          title: '货物名称',
 | 
			
		||||
          ui: {
 | 
			
		||||
            widget: 'select',
 | 
			
		||||
            placeholder: '请选择',
 | 
			
		||||
            errors: { required: '请选择货物类型' },
 | 
			
		||||
            asyncData: () =>
 | 
			
		||||
              this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
 | 
			
		||||
                map((data: any) => {
 | 
			
		||||
                  return data[0].children?.map((m: any) => {
 | 
			
		||||
                    return { label: m.name, value: m.id };
 | 
			
		||||
                  });
 | 
			
		||||
                })
 | 
			
		||||
              ),
 | 
			
		||||
            change: (value, data: any) => {
 | 
			
		||||
              this.changeGoodsType(value, data);
 | 
			
		||||
              this.sf3.setValue('/goodsTypeName', data.label);
 | 
			
		||||
            }
 | 
			
		||||
          } as SFSelectWidgetSchema
 | 
			
		||||
        },
 | 
			
		||||
        goodsTypeName: {
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          title: '',
 | 
			
		||||
          ui: {
 | 
			
		||||
            hidden: true
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        goodsNameId: {
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          title: '',
 | 
			
		||||
          ui: {
 | 
			
		||||
            widget: 'select',
 | 
			
		||||
            placeholder: '请选择',
 | 
			
		||||
            errors: { required: '请填写货物名称' },
 | 
			
		||||
            change: (value: any, data: any) => {
 | 
			
		||||
              this.sf3.setValue('/goodsName', data.label);
 | 
			
		||||
            },
 | 
			
		||||
            visibleIf: {
 | 
			
		||||
              goodsTypeName: (value: any) => value && value !== '其它'
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        goodsName: {
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          title: '',
 | 
			
		||||
          ui: {
 | 
			
		||||
            hidden: true,
 | 
			
		||||
            visibleIf: {
 | 
			
		||||
              goodsTypeName: (value: any) => value && value !== '其它'
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        goodsName1: {
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          title: '',
 | 
			
		||||
          ui: {
 | 
			
		||||
            errors: { required: '请填写货物名称' },
 | 
			
		||||
            visibleIf: {
 | 
			
		||||
              goodsTypeName: (value: any) => value && value === '其它'
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      required: ['goodsTypeId', 'goodsName', 'goodsNameId']
 | 
			
		||||
    };
 | 
			
		||||
    this.ui3 = {
 | 
			
		||||
      '*': {
 | 
			
		||||
        spanLabelFixed: 90,
 | 
			
		||||
        grid: { span: 12 }
 | 
			
		||||
      }
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
   initSF4() {
 | 
			
		||||
     this.schema4 = {
 | 
			
		||||
       properties: {
 | 
			
		||||
@ -615,25 +630,40 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
     this.validateForm1.removeControl(`unloadPhone${index}`);
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   //指派熟车
 | 
			
		||||
   chooseFamifiar(item: any) {
 | 
			
		||||
     const modalRef = this.modalService.create({
 | 
			
		||||
       nzTitle: '指派熟车',
 | 
			
		||||
       nzContent: SupplyManagementVehicleAssignedCarComponent,
 | 
			
		||||
       nzWidth: 1200,
 | 
			
		||||
       nzComponentParams: {
 | 
			
		||||
         status: 'new',
 | 
			
		||||
         url: this.service.$api_save_assign_bulk,
 | 
			
		||||
         params: item
 | 
			
		||||
       },
 | 
			
		||||
       nzFooter: null
 | 
			
		||||
     });
 | 
			
		||||
     modalRef.afterClose.subscribe(result => {
 | 
			
		||||
       if (result) {
 | 
			
		||||
         this.openFinishPage(result);
 | 
			
		||||
       }
 | 
			
		||||
     });
 | 
			
		||||
   }
 | 
			
		||||
  //指派熟车
 | 
			
		||||
  chooseFamifiar(item: any) {
 | 
			
		||||
    console.log('999')
 | 
			
		||||
   const modalRef = this.modalService.create({
 | 
			
		||||
     nzTitle: '指派熟车',
 | 
			
		||||
     nzContent: SupplyManagementVehicleAssignedCarComponent,
 | 
			
		||||
     nzWidth: 1200,
 | 
			
		||||
     nzComponentParams: {
 | 
			
		||||
       status: 'new',
 | 
			
		||||
       url: this.service.$api_save_assign_whole,
 | 
			
		||||
       params: item
 | 
			
		||||
     },
 | 
			
		||||
     nzFooter: null
 | 
			
		||||
   });
 | 
			
		||||
   modalRef.afterClose.subscribe(result => {
 | 
			
		||||
     if (result) {
 | 
			
		||||
       this.openFinishPage(result);
 | 
			
		||||
     }
 | 
			
		||||
   });
 | 
			
		||||
 }
 | 
			
		||||
     // 提交前确认,委托运输协议弹窗
 | 
			
		||||
     submitConfirm(submitType?: any) {
 | 
			
		||||
      const modalRef = this.modalService.create({
 | 
			
		||||
        nzTitle: '运输协议',
 | 
			
		||||
        nzContent: TranAgreementComponent,
 | 
			
		||||
        nzWidth: 900,
 | 
			
		||||
        nzFooter: null
 | 
			
		||||
      });
 | 
			
		||||
      modalRef.afterClose.subscribe(result => {
 | 
			
		||||
        if (result) {
 | 
			
		||||
          this.submit(submitType);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
   submit(submitType: string): void {
 | 
			
		||||
     Object.keys(this.validateForm1.controls).forEach(key => {
 | 
			
		||||
       this.validateForm1.controls[key].markAsDirty();
 | 
			
		||||
@ -652,13 +682,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
     // 货物信息
 | 
			
		||||
     const goodsInfoList = [
 | 
			
		||||
       {
 | 
			
		||||
         ...this.sf3.value,
 | 
			
		||||
         goodsTypeName: this.currentGoodsTypeName.label,
 | 
			
		||||
         goodsName: '电子',
 | 
			
		||||
         goodsNameId: '1',
 | 
			
		||||
         ...this.sf4.value,
 | 
			
		||||
         maxWeight: this.sf4.value.maxWeight.join(','),
 | 
			
		||||
         maxCube: this.sf4.value.maxCube.join(',')
 | 
			
		||||
        ...this.sf4.value,
 | 
			
		||||
        ...this.sf3.value,
 | 
			
		||||
        maxWeight: this.sf4.value.maxWeight.join(','),
 | 
			
		||||
        maxCube: this.sf4.value.maxCube.join(',')
 | 
			
		||||
       }
 | 
			
		||||
     ];
 | 
			
		||||
     // 运费信息
 | 
			
		||||
@ -692,10 +719,12 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
     };
 | 
			
		||||
 
 | 
			
		||||
     let reqUrl = this.service.$api_consignWhole;
 | 
			
		||||
     if (submitType === 'assign') {
 | 
			
		||||
       this.chooseFamifiar(params);
 | 
			
		||||
       return;
 | 
			
		||||
     }
 | 
			
		||||
     if(submitType) {
 | 
			
		||||
      if (submitType == 'assign') {
 | 
			
		||||
        this.chooseFamifiar(params);
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
     this.service.request(reqUrl, params).subscribe((res: any) => {
 | 
			
		||||
       if (res) {
 | 
			
		||||
@ -821,7 +850,34 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
 | 
			
		||||
       nzComponentParams: { type: 'onecar', resourceObj }
 | 
			
		||||
     });
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   changeGoodsType(value: string, data: any) {
 | 
			
		||||
    if (data.label === '其它') return;
 | 
			
		||||
    const params = {
 | 
			
		||||
      pageIndex: 1,
 | 
			
		||||
      pageSize: 100,
 | 
			
		||||
      configId: value
 | 
			
		||||
    };
 | 
			
		||||
    this.service
 | 
			
		||||
      .request(this.service.$api_get_config_item_page, params)
 | 
			
		||||
      .pipe(
 | 
			
		||||
        map(data => {
 | 
			
		||||
          return data.records?.map((m: any) => {
 | 
			
		||||
            return { label: m.name, value: m.id };
 | 
			
		||||
          });
 | 
			
		||||
        })
 | 
			
		||||
      )
 | 
			
		||||
      .subscribe(res => {
 | 
			
		||||
        if (res) {
 | 
			
		||||
          this.sf3.getProperty('/goodsNameId')!.schema.enum = res;
 | 
			
		||||
          this.sf3.getProperty('/goodsNameId')!.widget.reset(res);
 | 
			
		||||
          if(this.sf3data.goodsNameId){
 | 
			
		||||
            this.sf3.setValue('/goodsNameId',this.sf3data.goodsNameId);
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          this.service.msgSrv.error(res.msg);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
  }
 | 
			
		||||
   /**
 | 
			
		||||
    * 取消
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user