Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -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
|
||||
},
|
||||
|
||||
@ -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],
|
||||
|
||||
@ -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 },
|
||||
|
||||
@ -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()"
|
||||
|
||||
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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(() => {
|
||||
|
||||
@ -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 {}
|
||||
@ -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) {
|
||||
|
||||
@ -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()
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
@ -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>
|
||||
@ -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)
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
:host {
|
||||
.text-black {
|
||||
color: #000;
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
});
|
||||
});
|
||||
@ -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`;
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -290,7 +290,7 @@ export class OrderManagementBulkComponent extends BasicTableComponent implements
|
||||
placeholder: '请选择',
|
||||
}
|
||||
},
|
||||
enterpriseInfoName: {
|
||||
enterpriseInfoId: {
|
||||
type: 'string',
|
||||
title: '网络货运人',
|
||||
ui: {
|
||||
|
||||
@ -297,7 +297,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme
|
||||
placeholder: '请选择'
|
||||
}
|
||||
},
|
||||
enterpriseInfoName: {
|
||||
enterpriseInfoId: {
|
||||
type: 'string',
|
||||
title: '网络货运人',
|
||||
ui: {
|
||||
|
||||
@ -195,6 +195,5 @@ export class ParterLevelConfigListComponent implements OnInit {
|
||||
*/
|
||||
resetSF() {
|
||||
this.sf.reset();
|
||||
this.st.load(1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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)
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user