Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
weiyu
2022-05-07 15:40:55 +08:00
23 changed files with 155 additions and 107 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming
* @LastEditTime : 2022-05-07 10:35:23
* @LastEditTime : 2022-05-07 14:49:15
* @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -30,7 +30,7 @@ module.exports = {
// },
'//api': {
target: {
host: 'tms-api-dev.eascs.com',
host: 'tms-api-test.eascs.com',
protocol: 'https:',
port: 443
},

View File

@ -42,6 +42,7 @@ const APPINIT_PROVIDES = [
multi: true
},
{ provide: DEFAULT_CURRENCY_CODE, useValue: '¥' },
{ provide: RouteReuseStrategy, useClass: ReuseTabStrategy, deps: [ReuseTabService] },
AuthGuard
];
// #endregion
@ -55,6 +56,8 @@ import { SharedModule } from './shared/shared.module';
import { STWidgetModule } from './shared/widget/st-widget.module';
import { registerLocaleData } from '@angular/common';
import { AuthGuard } from './core/guards/auth.guard';
import { RouteReuseStrategy } from '@angular/router';
import { ReuseTabService, ReuseTabStrategy } from '@delon/abc/reuse-tab';
@NgModule({
declarations: [AppComponent],

View File

@ -12,6 +12,7 @@ import { environment } from '@env/environment';
const alainConfig: AlainConfig = {
st: {
bordered: true,
req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } },
res: { reName: { list: 'data.records', total: 'data.total' } },
page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000], toTop: false },

View File

@ -14,7 +14,7 @@
</div>
</ng-template>
<ng-template #subLink let-i>
<a *ngIf="!i.externalLink" [routerLink]="i.link" [target]="i.target">{{ i.text }} </a>
<a *ngIf="!i.externalLink" (click)="routeTo(i.link)" [target]="i.target">{{ i.text }} </a>
<a *ngIf="i.externalLink" [attr.href]="i.externalLink" [attr.target]="i.target">{{ i.text }} </a>
</ng-template>
<ul *ngIf="menus" nz-menu [nzMode]="mode" [nzTheme]="pro.theme"
@ -22,7 +22,7 @@
<ng-container *ngFor="let l1 of menus">
<li *ngIf="l1.children!.length === 0" nz-menu-item class="alain-pro__menu-item"
[class.alain-pro__menu-item--disabled]="l1.disabled" [nzSelected]="l1._selected" [nzDisabled]="l1.disabled">
<a *ngIf="!l1.externalLink" [routerLink]="l1.link" (click)="closeCollapsed()" class="alain-pro__menu-title">
<a *ngIf="!l1.externalLink" (click)="routeTo(l1.link);closeCollapsed()" class="alain-pro__menu-title">
<ng-template [ngTemplateOutlet]="mainLink" [ngTemplateOutletContext]="{ $implicit: l1 }"></ng-template>
</a>
<a *ngIf="l1.externalLink" [attr.href]="l1.externalLink" [attr.target]="l1.target" (click)="closeCollapsed()"

View File

@ -1,5 +1,6 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
import { ReuseTabService } from '@delon/abc/reuse-tab';
import { MenuService } from '@delon/theme';
import { InputBoolean } from '@delon/util';
import { NzMenuModeType } from 'ng-zorro-antd/menu';
@ -25,7 +26,13 @@ export class LayoutProMenuComponent implements OnInit, OnDestroy {
@Input() @InputBoolean() disabledAcl = false;
@Input() mode: NzMenuModeType = 'inline';
constructor(private menuSrv: MenuService, private router: Router, public pro: BrandService, private cdr: ChangeDetectorRef) {}
constructor(
private menuSrv: MenuService,
private router: Router,
public pro: BrandService,
private cdr: ChangeDetectorRef,
private reuseService: ReuseTabService
) {}
private cd(): void {
this.cdr.markForCheck();
@ -121,4 +128,11 @@ export class LayoutProMenuComponent implements OnInit, OnDestroy {
unsubscribe$.next();
unsubscribe$.complete();
}
routeTo(link: string | undefined) {
if (link) {
this.reuseService.clear();
this.router.navigate([link]);
}
}
}

View File

@ -1,4 +1,5 @@
import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core';
import { OnReuseDestroy } from '@delon/abc/reuse-tab';
import { SFComponent, SFSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { fromEvent, Subscription } from 'rxjs';
@ -24,7 +25,7 @@ import { debounceTime } from 'rxjs/operators';
@Component({
template: ''
})
export class BasicTableComponent implements AfterViewInit, OnDestroy {
export class BasicTableComponent implements AfterViewInit, OnDestroy, OnReuseDestroy {
scrollY = '400px';
sf!: SFComponent;
@ -35,6 +36,9 @@ export class BasicTableComponent implements AfterViewInit, OnDestroy {
deviationHeight = 0;
constructor(public searchDrawerService: SearchDrawerService) {}
_onReuseDestroy(): void {
this.drawer.forEach(sub => sub.unsubscribe());
}
ngAfterViewInit(): void {
setTimeout(() => {

View File

@ -113,9 +113,13 @@
line-height: 21px;
}
.text-truncate {
white-space: normal;
}
// .text-truncate {
// white-space: normal;
// }
// 强制头部居中
.ant-table-container table>thead>tr>.options {
text-align: center !important;
}
}
}
@ -138,4 +142,4 @@
}
}
.height_box{}
.height_box {}

View File

@ -5,7 +5,7 @@ import { OnChanges } from '@angular/core';
* @Author : Shiming
* @Date : 2022-01-05 11:01:55
* @LastEditors : Shiming
* @LastEditTime : 2022-04-27 20:19:39
* @LastEditTime : 2022-05-07 14:28:16
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -94,7 +94,8 @@ export class ContractManagementTemplateTextComponent implements OnInit {
{ label: '订单补充协议', value: '2' },
{ label: '运单合同', value: '3' },
{ label: '运单补充协议', value: '4' },
{ label: '委托代收合同', value: '5' }
{ label: '委托代收合同', value: '5' },
{ label: '权力义务转让协议', value: '10' },
];
this.sf.getProperty('/contractType')!.schema.enum = this.Types;
this.sf.getProperty('/contractType')!.widget.reset(this.Types);
@ -217,7 +218,8 @@ export class ContractManagementTemplateTextComponent implements OnInit {
{ label: '订单补充协议', value: '2' },
{ label: '运单合同', value: '3' },
{ label: '运单补充协议', value: '4' },
{ label: '委托代收合同', value: '5' }
{ label: '委托代收合同', value: '5' },
{ label: '权力义务转让协议', value: '10' },
];
setTimeout(() => {
if (this.sf) {

View File

@ -245,7 +245,7 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => {
if (res) {
this.service.msgSrv.success('删除成功!');
this.st.reload(1)
this.st.reload()
}
})
});

View File

@ -45,14 +45,14 @@
</div>
</div>
</ng-template>
<!-- <div nz-row [nzGutter]="64">
<div nz-row [nzGutter]="64">
<div nz-col class="gutter-row" [nzSpan]="12">
<app-operation-curve #curve [chartData]="chartData.lineChart"></app-operation-curve>
</div>
<div nz-col class="gutter-row" [nzSpan]="12">
<app-operation-pillar #pillar [chartData]="chartData.histogram"></app-operation-pillar>
</div>
</div> -->
</div>
</nz-card>
<app-opeationtable-pie #pie></app-opeationtable-pie>

View File

@ -73,9 +73,9 @@ export class DatatableOperationtableComponent implements OnInit {
}
initPillarData(flag?: boolean){
let type = 1
if(this.mode === 'year') {
if(this.modeNext === 'year') {
type = 1
} else if(this.mode === 'month') {
} else if(this.modeNext === 'month') {
type = 2
}
const params: any = {
@ -126,7 +126,18 @@ export class DatatableOperationtableComponent implements OnInit {
// Can not select days before today and today
differenceInCalendarDays(current, this.today) > 0;
exportFun() {
let type = 1
if(this.mode === 'year') {
type = 1
} else if(this.mode === 'month') {
type = 2
}
const params: any = {
time: this.time,
type,
enterpriseInfoId: this.enterpriseInfoId
};
this.service.exportStart({ ...params, pageSize: -1 }, this.service.$api_asyncExportOperationalReport);
}
changeCurve(){
@ -135,9 +146,9 @@ export class DatatableOperationtableComponent implements OnInit {
}
changeDataNext() {
if(this.mode === 'year') {
if(this.modeNext === 'year') {
this.dateFormat = 'yyyy'
} else if(this.mode === 'month') {
} else if(this.modeNext === 'month') {
this.dateFormat = 'yyyy-MM'
}
}
@ -145,9 +156,9 @@ export class DatatableOperationtableComponent implements OnInit {
if(result === null) {
return
}
if(this.mode === 'year') {
if(this.modeNext === 'year') {
this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy') + '-01-01 00:00:00']
} else if(this.mode === 'month') {
} else if(this.modeNext === 'month') {
this.timeNext = [this.datePipe.transform(this.dateNext, 'yyyy-MM') + '-01 00:00:00']
}
this.initPillarData(true)

View File

@ -1,5 +0,0 @@
:host {
.text-black {
color: #000;
}
}

View File

@ -1,24 +0,0 @@
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
import { DatatableFundReportingComponent } from './fund-reporting.component';
describe('DatatableFundReportingComponent', () => {
let component: DatatableFundReportingComponent;
let fixture: ComponentFixture<DatatableFundReportingComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [DatatableFundReportingComponent]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(DatatableFundReportingComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -107,6 +107,8 @@ export class DataService extends ShipperBaseService {
$api_total_freight = `/api/sdc/reportData/getTotalFreight`;
// 附加费总额
$api_total_surcharge = `/api/sdc/reportData/getTotalSurcharge`;
// 运营导出
$api_asyncExportOperationalReport = `/api/sdc/report/asyncExportOperationalReport`;

View File

@ -72,6 +72,16 @@ export class MenuModalComponent implements OnInit {
widget: 'radio'
}
},
reuse: {
title: '是否缓存页面',
type: 'boolean',
default: this.formData.reuse || false,
enum: [true, false],
readOnly: this.isDisabled,
ui: {
widget: 'radio'
}
},
link: {
title: '菜单路由',
type: 'string',
@ -134,7 +144,6 @@ export class MenuModalComponent implements OnInit {
i18n: null,
// i18n: this.sf?.value.keyCode,
menuType: 0,
reuse: 0,
shortcut: 0,
hideInBreadcrumb: 0,
functionType: 0,

View File

@ -290,7 +290,7 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
placeholder: '请选择',
}
},
enterpriseInfoName: {
enterpriseInfoId: {
type: 'string',
title: '网络货运人',
ui: {

View File

@ -297,7 +297,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
placeholder: '请选择'
}
},
enterpriseInfoName: {
enterpriseInfoId: {
type: 'string',
title: '网络货运人',
ui: {

View File

@ -195,6 +195,5 @@ export class ParterLevelConfigListComponent implements OnInit {
*/
resetSF() {
this.sf.reset();
this.st.load(1);
}
}

View File

@ -223,7 +223,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
},
goodsTypeId: {
type: 'string',
title: '货物名称',
title: '货物类型',
ui: {
widget: 'select',
placeholder: '请选择',
@ -255,7 +255,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
errors: { required: '请填写货物名称' },
errors: { required: '请填写货物类型' },
change: (value: any, data: any) => {
this.sf3.setValue('/goodsName', data.label);
},
@ -279,7 +279,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
title: '',
maxLength: 20,
ui: {
errors: { required: '请填写货物名称' },
errors: { required: '请填写货物类型' },
visibleIf: {
goodsTypeName: (value: any) => value && value === '其它'
},
@ -1162,7 +1162,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) {
const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!',
nzTitle: '货物类型含有违禁词,请重新输入!',
});
modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null);

View File

@ -269,7 +269,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
},
goodsTypeId: {
type: 'string',
title: '货物名称',
title: '货物类型',
ui: {
widget: 'select',
placeholder: '请选择',
@ -301,7 +301,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
errors: { required: '请填写货物名称' },
errors: { required: '请填写货物类型' },
change: (_value: any, data: any) => {
this.sf3.setValue('/goodsName', data.label);
},
@ -325,7 +325,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
title: '',
maxLength: 20,
ui: {
errors: { required: '请填写货物名称' },
errors: { required: '请填写货物类型' },
visibleIf: {
goodsTypeName: (value: any) => value && value === '其它'
},
@ -1510,7 +1510,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) {
const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!',
nzTitle: '货物类型含有违禁词,请重新输入!',
});
modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null);

View File

@ -259,11 +259,11 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
},
goodsTypeId: {
type: 'string',
title: '货物名称',
title: '货物类型',
ui: {
widget: 'select',
placeholder: '请选择',
errors: { required: '请选择货物名称' },
errors: { required: '请选择货物类型' },
asyncData: () =>
this.shipperSrv.loadConfigByKey('goods.name.config.type').pipe(
map((data: any) => {
@ -291,7 +291,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
errors: { required: '请填写货物名称' },
errors: { required: '请填写货物类型' },
change: (value: any, data: any) => {
this.sf3.setValue('/goodsName', data.label);
},
@ -315,7 +315,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
title: '',
maxLength: 20,
ui: {
errors: { required: '请填写货物名称' },
errors: { required: '请填写货物类型' },
visibleIf: {
goodsTypeName: (value: any) => value && value === '其它'
},
@ -1294,7 +1294,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.service.request(this.service.$api_checkGoodsName, name).subscribe(res => {
if (res === false) {
const modalRef = this.modalService.error({
nzTitle: '货物名称含有违禁词,请重新输入!',
nzTitle: '货物类型含有违禁词,请重新输入!',
});
modalRef.afterClose.subscribe(result => {
// this.sf3.setValue('/goodsName1', null);

View File

@ -26,15 +26,23 @@
<nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 企业列表</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="loadingList" (click)="openDrawer()" acl
[acl-ability]="['USERCENTER-FREIGHT-LIST-list']">筛选</button>
<div class="d-flex align-items-center mr-sm">
<div class="mr-md d-flex align-items-center">
<input nz-input placeholder="请输入企业名称" [(ngModel)]="sfValue.enterpriseName" class=" mr-sm"
style="width: 150px;height: 32PX;" />
<input nz-input placeholder="请输入管理员" [(ngModel)]="sfValue.contactName" style="width: 150px;height: 32PX;" />
</div>
<button nz-button nzDanger [nzLoading]="loadingList" (click)="search()" acl
[acl-ability]="['USERCENTER-FREIGHT-LIST-list']">查询</button>
<button nz-button nzDanger (click)="exportList()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-export']">
导出</button>
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu>
<li nz-menu-item (click)="openDrawer()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-list']">
高级筛选
</li>
<li nz-menu-item (click)="creat()" acl [acl-ability]="['USERCENTER-FREIGHT-LIST-save']">
新增企业
</li>
@ -52,8 +60,7 @@
<st #st [columns]="columns" [data]='service.$api_get_freight_list' [req]="{ process: beforeReq }"
[res]="{ process: dataProcess }" [scroll]="{ x: '1200px',y:scrollY }" [page]=" {}" [loading]="loadingList">
<ng-template st-row="enterpriseName" let-item let-index="index">
<label>{{ item.enterpriseName }}</label><br>
<ng-template st-row="score" let-item let-index="index">
<ng-container *ngIf="item.score!==null; else billEvaluateelseTemplate">
<nz-rate [ngModel]="item.score" nzDisabled></nz-rate>
</ng-container>
@ -68,16 +75,35 @@
</ng-container>
</ng-template>
<ng-template st-row="contacter" let-item let-index="index">
{{ item.contacter }}<br>/{{item.mobile}}
<p nz-tooltip [nzTooltipTitle]="item.contacter+'/'+item.mobile" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.contacter }}
</p>
</ng-template>
<ng-template st-row="customerServiceIdLabel" let-item let-index="index">
<p nz-tooltip [nzTooltipTitle]="item.customerServiceIdLabel" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.customerServiceIdLabel }}
</p>
</ng-template>
<ng-template st-row="partnerName" let-item let-index="index">
{{ item.partnerName }}<br>/{{item.partnerMobile}}
<p nz-tooltip [nzTooltipTitle]="item.partnerName+'/'+item.partnerMobile" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.partnerName }}
</p>
</ng-template>
<ng-template st-row="promotersTelephone" let-item let-index="index">
<!-- <a acl [acl-ability]="['USERCENTER-FREIGHT-LIST-salesman']" (click)="addPromoter(item)">{{ item.channelName
}}<br>{{ item.channelMobile
|| '添加' }}</a> -->
{{ item.channelName }}<br>{{ item.channelMobile }}
<p nz-tooltip [nzTooltipTitle]="item.channelName+'/'+item.channelMobile" style="cursor: pointer;width: 120px;margin: 0; white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;">
{{ item.channelName }}
</p>
</ng-template>
</st>
</nz-card>

View File

@ -1,7 +1,7 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STChange, STColumn, STColumnBadge, STComponent, STData, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st';
import { SFDateWidgetSchema } from '@delon/form';
import { DynamicSettingModalComponent, SearchDrawerService, ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
@ -24,6 +24,9 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
promotersTelephone = '';
loadingList = true;
sfValue = { enterpriseName: '', contactName: '' };
constructor(
public service: UsermanageService,
private modal: NzModalService,
@ -38,9 +41,6 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
ngOnInit() {
this.initSF();
this.initST();
this.ar.url.subscribe(params => {
this.st?.load(1);
});
}
search() {
@ -195,12 +195,6 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
initSF() {
this.schema = {
properties: {
expand: {
type: 'boolean',
ui: {
hidden: true
}
},
enterpriseName: {
title: '企业名称',
type: 'string',
@ -340,7 +334,7 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
{ label: '全部', value: '' },
{ label: '货主注册', value: 1 },
{ label: '平台添加', value: 2 },
{ label: '数据迁移', value: 4 },
{ label: '数据迁移', value: 4 }
],
default: '',
ui: {
@ -377,24 +371,31 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
initST() {
this.columns = [
{ title: '', type: 'checkbox', className: 'text-center' },
{ title: '企业名称', render: 'enterpriseName', width: 350 },
{ title: '统一社会信用代码', className: 'text-center', render: 'unifiedSocialCreditCode', width: 200 },
{
title: '企业名称',
index: 'enterpriseName',
width: 250,
type: 'link',
click: item => this.router.navigate(['./detail', item.id], { relativeTo: this.ar })
},
{ title: '企业评分', className: 'text-center', render: 'score', width: 160 },
{
title: '公司所在地',
className: 'text-center',
index: 'province',
width: 200,
format: item => `${item.provinceName}${item.cityName}${item.areaName}`
},
{ title: '管理员', render: 'contacter', width: 150 },
{ title: '统一社会信用代码', className: 'text-center', render: 'unifiedSocialCreditCode', width: 200 },
{
title: '企业类型',
className: 'text-center',
index: 'enterpriseType',
width: 200,
width: 160,
type: 'enum',
enum: { 1: '物流企业', 2: '货运代理', 3: '生产型企业', 4: '贸易类企业', 5: '科技型企业', 6: '化学化工企业', 7: '其他' }
},
{ title: '管理员', className: 'text-center', render: 'contacter', width: 150 },
{
title: '常用服务',
className: 'text-center',
@ -405,14 +406,14 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
},
{ title: '渠道销售', className: 'text-center', render: 'promotersTelephone', width: 150 },
{ title: '合伙人', className: 'text-center', render: 'partnerName', width: 150 },
{ title: '客服人员', className: 'text-center', index: 'customerServiceIdLabel', width: 150 },
{ title: '客服人员', className: 'text-center', render: 'customerServiceIdLabel', width: 150 },
{ title: '网络货运人', className: 'text-center', index: 'netTranName', width: 180 },
{
title: '注册渠道',
className: 'text-center',
index: 'source',
type: 'enum',
enum: { 1: '货主注册', 2: '平台添加', 3: '运营添加', 4: '数据迁移' },
enum: { 1: '货主注册', 2: '平台添加', 3: '运营添加', 4: '数据迁移' },
width: 130
},
{ title: '申请时间', className: 'text-center', index: 'createTime', width: 180, type: 'date' },
@ -442,30 +443,31 @@ export class FreightComponentsListComponent extends BasicTableComponent implemen
},
{
title: '操作',
width: '200px',
className: 'text-center block-td',
width: '220px',
className: 'text-left options',
fixed: 'right',
buttons: [
{
text: '查看',
acl: { ability: ['USERCENTER-FREIGHT-LIST-view'] },
click: item => {
this.router.navigate(['./detail', item.id], { relativeTo: this.ar });
// this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } });
}
},
// {
// text: '查看',
// acl: { ability: ['USERCENTER-FREIGHT-LIST-view'] },
// click: item => {
// this.router.navigate(['./detail', item.id], { relativeTo: this.ar });
// // this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } });
// }
// },
// {
// acl: { ability: ['USERCENTER-FREIGHT-LIST-basicSetting'] },
// text: '基础设置',
// click: item => this.settingAction(item)
// },
{ type: 'divider' },
{
acl: { ability: ['USERCENTER-FREIGHT-LIST-balance'] },
text: '资金账户',
click: item => this.showAccountDetail(item)
},
{
text: '分配客服人员',
text: '分配客服<br>',
click: item => this.showService(item)
},
{