157 lines
4.1 KiB
TypeScript
157 lines
4.1 KiB
TypeScript
import { Injectable, Injector } from '@angular/core';
|
|
import { BaseService } from '../core/base.service';
|
|
import { map } from 'rxjs/operators';
|
|
import { cacheConf } from '@conf/cache.conf';
|
|
import { EACacheService } from '..';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class ShipperBaseService extends BaseService {
|
|
$api_get_carless_carrier = ``; // 获取承运人
|
|
$api_get_enterprise_project = `/api/mdc/cuc/enterpriseProject/getEnterpriseProjectList `; // 所属项目列表
|
|
$api_get_staff_list = `/api/mdc/cuc/userApp/getStaffList`; //查询企业项目员工列表(录单员)
|
|
$api_get_network_freight_forwarder_list = `/api/mdc/cuc/networkTransporter/findAll`; // 获取网络货运人
|
|
$api_get_network_freight_forwarder_one = `/api/mdc/cuc/networkTransporter/get`; // 获取网络货运人
|
|
// 根据FullKey获取系统子配置(树)
|
|
$api_getSysConfigTreeByParentFullKey = `/api/mdc/pbc/sysConfig/getSysConfigTreeByParentFullKey`;
|
|
envCache: any;
|
|
constructor(public injector: Injector, public eaCacheSrv: EACacheService) {
|
|
super(injector);
|
|
this.envCache = this.eaCacheSrv.get(cacheConf.env);
|
|
}
|
|
|
|
/**
|
|
* 获取无车承运人
|
|
* @returns
|
|
*/
|
|
getCarlessCarrier() {
|
|
const params = {
|
|
};
|
|
return this.request(this.$api_get_carless_carrier, params, 'POST').pipe(
|
|
map((res) => {
|
|
if (res) {
|
|
res.map((m: any) => {
|
|
return { label: m.platformName, value: m.operationId };
|
|
});
|
|
}
|
|
}),
|
|
);
|
|
}
|
|
|
|
|
|
/**
|
|
* 获取所属项目
|
|
* @returns
|
|
*/
|
|
getEnterpriseProject(params = {}) {
|
|
return this.request(this.$api_get_enterprise_project, params).pipe(
|
|
map((res: any) => {
|
|
if (!res) {
|
|
return [];
|
|
}
|
|
const list = res.map(((item: any) => {
|
|
return {
|
|
label: item.projectName,
|
|
value: item.enterpriseId
|
|
}
|
|
}))
|
|
const obj = [{ value: '', label: '全部' }];
|
|
return [...obj, ...list];
|
|
})
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 获取录单员
|
|
* @returns
|
|
*/
|
|
getStaffList(params = {},containerAll = true) {
|
|
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,
|
|
value: item.userId
|
|
}
|
|
}))
|
|
const obj = [];
|
|
if (containerAll) {
|
|
obj.push({ label: '全部', value: '' })
|
|
}
|
|
return [...obj, ...list];
|
|
})
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 获取调度员
|
|
* @returns
|
|
*/
|
|
getStaffList2(params = {}) {
|
|
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) => {
|
|
if (!res) {
|
|
return [];
|
|
}
|
|
const list = res.map(((item: any) => {
|
|
return {
|
|
label: item.enterpriseName,
|
|
value: item.id
|
|
}
|
|
}))
|
|
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 });
|
|
}
|
|
// 根据FullKey获取系统子配置(树)
|
|
loadConfigByKey(configFullKey:string ='') {
|
|
return this.http.post(this.$api_getSysConfigTreeByParentFullKey, { configFullKey }).pipe(
|
|
map((m: any) => {
|
|
if (m.success === true) {
|
|
return (m.data as any[]) || [];
|
|
} else {
|
|
this.msgSrv.warning(m.msg);
|
|
return [];
|
|
}
|
|
}),
|
|
);
|
|
}
|
|
}
|