This commit is contained in:
wangshiming
2022-03-02 14:29:37 +08:00
parent 0ae6f030be
commit e66779ecb3
4 changed files with 121 additions and 68 deletions

View File

@ -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);
}
});
}
}