车辆对接

This commit is contained in:
wangshiming
2022-01-04 11:23:50 +08:00
parent 4f51c487cc
commit c276ce4726
9 changed files with 169 additions and 90 deletions

View File

@ -1,13 +1,13 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-30 19:36:30 * @Date: 2021-12-30 19:36:30
* @LastEditTime: 2021-12-31 13:50:41 * @LastEditTime: 2022-01-04 10:34:31
* @LastEditors: your name * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\financial-management\services\freight-account.service.ts * @FilePath: \tms-obc-web\src\app\routes\financial-management\services\freight-account.service.ts
*/ */
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { BaseService, ShipperBaseService } from '@shared'; import { BaseService, EACacheService, ShipperBaseService } from '@shared';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -57,7 +57,7 @@ export class FreightAccountService extends ShipperBaseService {
// 根据费用头ID查询费用单及开票明细 // 根据费用头ID查询费用单及开票明细
$api_get_cost_detail = '/api/fcc/ficoFeeL/detail'; $api_get_cost_detail = '/api/fcc/ficoFeeL/detail';
constructor(public injector: Injector) { constructor(public injector: Injector,public eaCacheSrv: EACacheService) {
super(injector); super(injector, eaCacheSrv);
} }
} }

View File

@ -638,6 +638,11 @@ resourceStatus: any;
// return false; // return false;
// } // }
}); });
modal.afterClose.subscribe((result) => {
if (result) {
this.st.load(1);
}
});
} }
/** /**
*修改网络货运人 *修改网络货运人

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-15 13:17:42 * @Date: 2021-12-15 13:17:42
* @LastEditTime: 2021-12-29 15:12:09 * @LastEditTime: 2022-01-04 11:10:46
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\vehicle\update-freight\update-freight.component.html * @FilePath: \tms-obc-web\src\app\routes\order-management\modal\vehicle\update-freight\update-freight.component.html
@ -10,5 +10,5 @@
<sf style="margin-top: 15px;" #sf mode="edit" [schema]="schema" [ui]="ui" button="none"></sf> <sf style="margin-top: 15px;" #sf mode="edit" [schema]="schema" [ui]="ui" button="none"></sf>
<div class="modal-footer"> <div class="modal-footer">
<button nz-button type="button" (click)="close()">关闭</button> <button nz-button type="button" (click)="close()">关闭</button>
<button nz-button type="submit" nzType="primary" (click)="save(sf.value)" [disabled]="sf.valid">确定</button> <button nz-button type="submit" nzType="primary" (click)="save(sf.value)" >确定</button>
</div> </div>

View File

@ -2,7 +2,7 @@ import { preloaderFinished } from '@delon/theme';
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-14 14:03:07 * @Date: 2021-12-14 14:03:07
* @LastEditTime: 2021-12-29 15:02:47 * @LastEditTime: 2022-01-04 11:21:29
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.ts * @FilePath: \tms-obc-web\src\app\routes\order-management\modal\bulk\update-freight\update-freight.component.ts
@ -42,17 +42,12 @@ export class VehicleModifyRateComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
console.log(this.data) console.log(this.data)
this.initSF(this.data); this.initSF();
} }
initSF(data: any) { initSF() {
const info = {
prePay: data.list?.filter((item: any) => item.costCode === 'PRE')[0],
toPay: data.list?.filter((item: any) => item.costCode === 'RECE')[0],
receiptPay: data.list?.filter((item: any) => item.costCode === 'BACK')[0]
};
this.schema = { this.schema = {
properties: { properties: {
prePay: { additionalRate: {
type: 'number', type: 'number',
title: '附加费率', title: '附加费率',
ui: { ui: {
@ -62,7 +57,7 @@ export class VehicleModifyRateComponent implements OnInit {
} as SFNumberWidgetSchema } as SFNumberWidgetSchema
}, },
}, },
required: ['prePay'] required: ['additionalRate']
}; };
this.ui = { this.ui = {
'*': { '*': {
@ -73,14 +68,23 @@ export class VehicleModifyRateComponent implements OnInit {
} }
save(value: any): void { save(value: any): void {
if(!this.sf.value?.additionalRate) {
this.service.msgSrv.warning('请填写附加费!')
return;
}
console.log(this.sf.value)
const params = { const params = {
}; ids: this.data?.ids,
...this.sf.value
this.service.request(this.service.$api_get_insertFreightChangeWhole, params).subscribe((res: any) => { };
console.log(params)
this.service.request(this.service.$api_set_updateAdditionalRateBatch, params).subscribe((res: any) => {
if (res) { if (res) {
this.modal.destroy(); this.modal.close(true);
this.service.msgSrv.success('变更运费成功'); this.service.msgSrv.success('变更运费成功');
} else {
this.service.msgSrv.error(res?.msg)
} }
}); });
} }

View File

@ -1,14 +1,14 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-03 15:31:52 * @Date: 2021-12-03 15:31:52
* @LastEditTime: 2022-01-04 09:32:27 * @LastEditTime: 2022-01-04 11:07:08
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\services\order-management.service.ts * @FilePath: \tms-obc-web\src\app\routes\order-management\services\order-management.service.ts
*/ */
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { ShipperBaseService } from '@shared'; import { EACacheService, ShipperBaseService } from '@shared';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -103,6 +103,8 @@ export class OrderManagementService extends ShipperBaseService {
$api_set_getBulkOrderDetail = `/api/sdc/billOperate/getBulkOrderDetail`; $api_set_getBulkOrderDetail = `/api/sdc/billOperate/getBulkOrderDetail`;
// 批量修改网络货运人 // 批量修改网络货运人
$api_set_updateEnterpriseInfoBatch = `/api/sdc/billOperate/updateEnterpriseInfoBatch`; $api_set_updateEnterpriseInfoBatch = `/api/sdc/billOperate/updateEnterpriseInfoBatch`;
// 批量修改附加费率
$api_set_updateAdditionalRateBatch = `/api/sdc/billOperate/updateAdditionalRateBatch`;
@ -129,7 +131,7 @@ export class OrderManagementService extends ShipperBaseService {
}) })
); );
} }
constructor(public injector: Injector) { constructor(public injector: Injector,public eaCacheSrv: EACacheService) {
super(injector) super(injector,eaCacheSrv)
} }
} }

View File

@ -1,7 +1,7 @@
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { STColumn, STComponent } from '@delon/abc/st'; import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme'; import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
@ -10,6 +10,8 @@ import { SupplyManagementVehicleAssignedCarComponent,
} from '../assigned-car/assigned-car.component'; } from '../assigned-car/assigned-car.component';
import { SupplyManagementUpdateExternalSnComponent } from '../update-external-sn/update-external-sn.component'; import { SupplyManagementUpdateExternalSnComponent } from '../update-external-sn/update-external-sn.component';
import { SupplyManagementUpdateFreightComponent } from '../update-freight/update-freight.component'; import { SupplyManagementUpdateFreightComponent } from '../update-freight/update-freight.component';
import { of } from 'rxjs';
import { ShipperBaseService } from '@shared';
@Component({ @Component({
selector: 'app-supply-management-vehicle', selector: 'app-supply-management-vehicle',
@ -35,19 +37,28 @@ export class SupplyManagementVehicleComponent implements OnInit {
stayQuantity: 0 stayQuantity: 0
}; };
resourceStatus: any; resourceStatus: any;
constructor(public service: SupplyManagementService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) {} constructor(
public service: SupplyManagementService,
private modal: NzModalService,
private router: Router,
private ar: ActivatedRoute,
public shipperSrv: ShipperBaseService
) {}
/** /**
* 查询参数 * 查询参数
*/ */
get reqParams() { get reqParams() {
const a: any = {}; const params = Object.assign({}, this.sf?.value || {});
delete params._$expand;
const a: any = {
...params
};
if (this.resourceStatus) { if (this.resourceStatus) {
a.resourceStatus = this.resourceStatus; a.resourceStatus = this.resourceStatus;
} }
return { return {
...a, ...a,
...this.sf?.value
}; };
} }
get selectedRows() { get selectedRows() {
@ -262,27 +273,42 @@ export class SupplyManagementVehicleComponent implements OnInit {
title: '卸货地', title: '卸货地',
ui: { placeholder: '请输入' } ui: { placeholder: '请输入' }
}, },
shipperAppUserName: { shipperAppUserId: {
type: 'string', type: 'string',
title: '货主', title: '货主',
ui: { ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
visibleIf: {
_$expand: (value: boolean) => value
},
onSearch: (q: any) => {
console.log(q)
if (!!q) {
return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: q})
.pipe(map((res: any) => (res as any[]).map((i) => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
} as SFSelectWidgetSchema,
},
enterpriseProjectId: {
type: 'string',
title: '所属项目',
ui: {
widget: 'select',
placeholder: '请选择',
asyncData: () => this.shipperSrv.getEnterpriseProject(),
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value _$expand: (value: boolean) => value
} }
} }
}, },
goodsName: {
title: '所属项目',
type: 'string',
default: '',
ui: {
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value
}
// asyncData: () =>[]
} as SFSelectWidgetSchema
},
serviceType: { serviceType: {
title: '服务类型', title: '服务类型',
type: 'string', type: 'string',
@ -306,17 +332,17 @@ export class SupplyManagementVehicleComponent implements OnInit {
} }
} as SFSelectWidgetSchema } as SFSelectWidgetSchema
}, },
enterpriseInfoName: { enterpriseInfoId: {
type: 'string', type: 'string',
title: '网络货运人', title: '网络货运人',
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
asyncData: () => this.shipperSrv.getNetworkFreightForwarder(),
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value _$expand: (value: boolean) => value
}, },
allowClear: true allowClear: true
// asyncData: () => this.getCatalogueMember(),
} }
} }
} }

View File

@ -1,13 +1,13 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-29 13:12:35 * @Date: 2021-12-29 13:12:35
* @LastEditTime: 2021-12-30 15:59:07 * @LastEditTime: 2022-01-04 10:36:02
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\ticket-management\services\ticket.service.ts * @FilePath: \tms-obc-web\src\app\routes\ticket-management\services\ticket.service.ts
*/ */
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { ShipperBaseService } from '@shared'; import { EACacheService, ShipperBaseService } from '@shared';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -47,7 +47,7 @@ export class TicketService extends ShipperBaseService {
// 保存开票申请费用明细 // 保存开票申请费用明细
$api_ficoVatappFee_save = '/api/fcc/ficoVatappFee/save'; $api_ficoVatappFee_save = '/api/fcc/ficoVatappFee/save';
constructor(public injector: Injector) { constructor(public injector: Injector,public eaCacheSrv: EACacheService) {
super(injector); super(injector, eaCacheSrv);
} }
} }

View File

@ -1,17 +1,17 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-11-29 15:22:34 * @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-12-13 11:25:12 * @LastEditTime: 2022-01-04 10:11:16
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\services\usercenter.service.ts * @FilePath: \tms-obc-web\src\app\routes\usercenter\services\usercenter.service.ts
*/ */
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { cacheConf } from '@conf/cache.conf';
import { _HttpClient } from '@delon/theme'; import { _HttpClient } from '@delon/theme';
import { ShipperBaseService } from '@shared'; import { EACacheService, ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
@ -106,8 +106,8 @@ export class UsermanageService extends ShipperBaseService {
// 身份证识别 // 身份证识别
$api_ocr_recognize_id_card = '/api/mdc/pbc/hwc/ocr/recognizeIdCard'; $api_ocr_recognize_id_card = '/api/mdc/pbc/hwc/ocr/recognizeIdCard';
constructor(public injector: Injector, private nzModalService: NzModalService) { constructor(public injector: Injector, private nzModalService: NzModalService, public eaCacheSrv: EACacheService) {
super(injector); super(injector,eaCacheSrv);
} }
showImg(url: any) { showImg(url: any) {

View File

@ -1,14 +1,8 @@
/*
* @Author: your name
* @Date: 2021-12-29 17:20:03
* @LastEditTime: 2021-12-29 20:43:13
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\shared\services\business\shipper-base.service.ts
*/
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { BaseService } from '../core/base.service'; import { BaseService } from '../core/base.service';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { cacheConf } from '@conf/cache.conf';
import { EACacheService } from '..';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@ -17,10 +11,13 @@ export class ShipperBaseService extends BaseService {
$api_get_carless_carrier = ``; // 获取承运人 $api_get_carless_carrier = ``; // 获取承运人
$api_get_enterprise_project = `/api/mdc/cuc/enterpriseProject/getEnterpriseProjectList `; // 所属项目列表 $api_get_enterprise_project = `/api/mdc/cuc/enterpriseProject/getEnterpriseProjectList `; // 所属项目列表
$api_get_staff_list = `/api/mdc/cuc/userApp/getStaffList`; //查询企业项目员工列表(录单员) $api_get_staff_list = `/api/mdc/cuc/userApp/getStaffList`; //查询企业项目员工列表(录单员)
$api_get_network_freight_forwarder = `/api/mdc/cuc/networkTransporter/findAll`; // 获取网络货运人 $api_get_network_freight_forwarder_list = `/api/mdc/cuc/networkTransporter/findAll`; // 获取网络货运人
$api_get_network_freight_forwarder_one = `/api/mdc/cuc/networkTransporter/get`; // 获取网络货运人
constructor(public injector: Injector) { envCache: any;
constructor(public injector: Injector, public eaCacheSrv: EACacheService) {
super(injector); super(injector);
this.envCache = this.eaCacheSrv.get(cacheConf.env);
} }
/** /**
@ -28,19 +25,20 @@ export class ShipperBaseService extends BaseService {
* @returns * @returns
*/ */
getCarlessCarrier() { getCarlessCarrier() {
return; const params = {
const params = {}; };
return this.request(this.$api_get_carless_carrier, params, 'POST').pipe( return this.request(this.$api_get_carless_carrier, params, 'POST').pipe(
map(res => { map((res) => {
if (res) { if (res) {
res.map((m: any) => { res.map((m: any) => {
return { label: m.platformName, value: m.operationId }; return { label: m.platformName, value: m.operationId };
}); });
} }
}) }),
); );
} }
/** /**
* 获取所属项目 * 获取所属项目
* @returns * @returns
@ -51,51 +49,95 @@ export class ShipperBaseService extends BaseService {
if (!res) { if (!res) {
return []; return [];
} }
const list = res.map((item: any) => ({ const list = res.map(((item: any) => {
label: item.projectName, return {
value: item.enterpriseId label: item.projectName,
})); value: item.enterpriseId
return [{ value: '', label: '全部' }, ...list]; }
}))
const obj = [{ value: '', label: '全部' }];
return [...obj, ...list];
}) })
); )
} }
/** /**
* 获取录单员 * 获取录单员
* @returns * @returns
*/ */
getStaffList(params = {}) { getStaffList(params = {},containerAll = true) {
return this.request(this.$api_get_staff_list, params).pipe( return this.request(this.$api_get_staff_list, params).pipe(
map((res: any) => { map((res: any) => {
if (!res) { if (!res) {
return []; return [];
} }
const list = res.map((item: any) => ({ const list = res.map(((item: any) => {
label: item.name, return {
value: item.userId label: item.name,
})); value: item.userId
return [{ value: '', label: '全部' }, ...list]; }
}))
const obj = [];
if (containerAll) {
obj.push({ label: '全部', value: '' })
}
return [...obj, ...list];
}) })
); )
} }
/** /**
* 获取网络货运人 * 获取调度员
* @returns * @returns
*/ */
getNetworkFreightForwarder(params = {}) { getStaffList2(params = {}) {
return this.request(this.$api_get_network_freight_forwarder, params).pipe( return this.request(this.$api_get_staff_list, params).pipe(
map((res: any) => {
if (!res) {
return [];
}
const list = res.map(((item: any) => {
return {
label: `${item.name}/${item.telephone}`,
value: item.userId
}
}))
return [...list];
})
)
}
/**
* 获取网络货运人
* @returns
*/
getNetworkFreightForwarder(params = {}, containerAll = false) {
return this.request(this.$api_get_network_freight_forwarder_list, params).pipe(
map((res: any) => { map((res: any) => {
if (!res) { if (!res) {
return []; return [];
} }
const list = res.map((item: any) => ({ const list = res.map(((item: any) => {
label: item.enterpriseName, return {
value: item.id label: item.enterpriseName,
})); value: item.id
return [{ value: '', label: '全部' }, ...list]; }
}))
const obj = [];
if (containerAll) {
obj.push({ label: '全部', value: '' })
}
return [...obj, ...list];
}) })
); )
}
/**
* 根据ID获取网络货运人
* @returns
*/
getNetworkTransporterById(id: string) {
return this.request(this.$api_get_network_freight_forwarder_one, { id });
} }
} }