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 []; } }), ); } }