车队长列表

This commit is contained in:
wangshiming
2021-12-01 10:51:13 +08:00
parent 4d0627ff35
commit 741912c630
14 changed files with 907 additions and 83 deletions

View File

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-11-29 10:20:33
* @LastEditTime: 2021-11-29 15:38:35
* @LastEditTime: 2021-12-01 09:53:56
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\routes-routing.module.ts
@ -31,7 +31,8 @@ const routes: Routes = [
path: 'usercenter',
loadChildren: () => import('./usercenter/usercenter.module').then(m => m.UsercenterModule)
},
{ path: 'system', loadChildren: () => import('./sys-setting/sys-setting.module').then(m => m.SysSettingModule) }
{ path: 'system', loadChildren: () => import('./sys-setting/sys-setting.module').then(m => m.SysSettingModule) },
{ path: 'supplygoods', loadChildren: () => import('./supply-goods/supply-goods.module').then(m => m.SupplyGoodsModule) }
]
},
// passport

View File

@ -0,0 +1,183 @@
<nz-card>
<!-- 搜索区 -->
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<!-- 查询字段小于或等于3个时不显示伸缩按钮 -->
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
<sf
#sf
[schema]="schema"
[ui]="ui"
[mode]="'search'"
[disabled]="!sf?.valid"
(formSubmit)="st?.load(1)"
(formReset)="resetSF()"
></sf>
</div>
<!-- [loading]="service.http.loading" -->
<!-- 查询字段大于3个时根据展开状态调整布局 -->
<ng-container *ngIf="queryFieldCount > 4">
<div nz-col [nzSpan]="_$expand ? 24 : 18">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
<button nz-button nzType="primary" [disabled]="!sf.valid" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button>
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
</div>
</ng-container>
</div>
</nz-card>
<nz-card>
<div class="actionAreaWrap">
<button nz-button (click)="orderExport()" nzType="primary">订单导入</button>
<!-- <button nz-button (click)="deliverBelivery()" nzType="primary">批量发货</button> -->
</div>
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" class="table" [nzSelectedIndex]="nzSelectedIndex">
<nz-tab *ngFor="let tab of tabs; let i = index" [nzTitle]="i === 3 ? tab + '' + toSendCount + '' : tab" (nzClick)="tabChange(i)">
<nz-table
#nzTable
[nzData]="listData"
nzTableLayout="fixed"
[nzLoading]="loading"
[nzTotal]="total"
[nzBordered]="true"
[nzFrontPagination]="false"
[nzPageSize]="pageSize"
[nzPageIndex]="pageIndex"
(nzPageIndexChange)="changePageIndex($event)"
[nzShowTotal]="totalTemplate"
[nzShowSizeChanger]="true"
(nzPageSizeChange)="changePageSize($event)"
[nzPageSizeOptions]="[10, 20, 30, 50, 100, 200, 300, 500, 1000]"
>
<ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>
<thead>
<tr>
<th nzAlign="center">商品</th>
<th nzWidth="100px" nzAlign="center">订单金额</th>
<th nzWidth="160px" nzAlign="center">收件人</th>
<th nzWidth="160px" nzAlign="center">下单商家</th>
<th nzWidth="120px" nzAlign="center">状态</th>
<th nzWidth="120px" nzAlign="center">操作</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let data of nzTable.data; index as key">
<tr [nzExpand]="true">
<div class="order-line">
<div class="order-line-number">
订单号:{{ data.orderSn }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下单时间:{{
data.createTime
}}&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;订单类型:{{
data.supplierType == 1 ? '普通订单' : 'GD订单'
}}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;支付方式:{{ data.payType === 1 ? '一次性付款,先货后款' : '-'
}}{{ data.payType === 2 ? '分批付款,先货后款' : '' }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配送方式:{{
data.deliveryTypeDesc
}}
</div>
</div>
</tr>
<tr *ngFor="let item of data.goodsList; index as i">
<td>
<div class="order-goods">
<div class="order-goods-img">
<img [src]="item.goodsPhotoUrl" alt="" />
</div>
<div class="order-goods-info">
<h2>
<span nz-tooltip [nzTooltipTitle]="item.goodsName"
>{{ item.goodsName }}<br />
<span *ngFor="let items of item.goodsSpecJson; index as i">
<span *ngIf="i !== 0"></span>{{ items.specName }}{{ items.specValueName }}
</span>
</span>
<p>数量:{{ item.goodsQuantity }}</p>
</h2>
</div>
<div class="order-goods-state">
{{ item.sendType === 1 ? '已发货' : item.sendType === 2 ? '部分发货' : '' }}<br />
{{ item.returnStatusName }}
</div>
</div>
</td>
<ng-container [ngSwitch]="i">
<ng-container *ngSwitchCase="0">
<td [rowSpan]="data.goodsList.length">¥{{ data.payAmount.toFixed(2) }}</td>
<td [rowSpan]="data.goodsList.length" nzAlign="center">
{{ data.receiveName }}<br />
{{ data.receiveMobile }}
</td>
<td [rowSpan]="data.goodsList.length" nzAlign="center">
{{ data.tenantName }}
</td>
<td [rowSpan]="data.goodsList.length" nzAlign="center">
<ng-container *ngIf="data.orderStatusStr; else elseorderStatusTemplate">{{ data.orderStatusStr }}</ng-container
><ng-template #elseorderStatusTemplate
><span *ngIf="!(data.payType === 2 && data.orderExtend.isDeliverGoods === 1 && data.orderStatus === 20)">{{
data.orderStatusDesc
}}</span
><br /><span *ngIf="data.payType === 2 && data.orderStatus !== 5 && data.orderExtend.isPay === 0">{{
data.payStatusDesc
}}</span></ng-template
>
</td>
<td [rowSpan]="data.goodsList.length" nzAlign="center">
<div class="order-line-price">
<!-- <span *ngIf="data.updateDeliverFlag === 1"
><a nz-button nzType="link" (click)="updateLogistics(data)">修改运单</a><br
/></span> -->
<!-- *ngIf="data.orderPaymentVoucherVO.chechStatus === 0" -->
<span *ngIf="data.orderPaymentVoucherVO.checkStatus === 0 && data.supplierType === 2">
<a nz-button nzType="link" (click)="paymentReview(data)">付款审核</a>
</span>
<span *ngIf="data.orderStatus === 5 && data.supplierType === 2">
<a nz-button nzType="link" (click)="orderReview(data)">审核</a><br />
</span>
<span *ngIf="data.orderStatus === 5">
<a nz-button nzType="link" (click)="modifyPrice(data)">修改价格</a>
</span>
<span
*ngIf="
data.orderExtend?.isDeliverGoods === 0 && data.orderStatus !== 5 && data.orderStatus !== 50 && data.payType === 2
"
>
<a nz-button nzType="link" (click)="deliverGoods(data)">立即发货</a>
<br
/></span>
<span *ngIf="data.orderExtend?.isDeliverGoods === 0 && data.orderStatus === 20 && data.payType === 1">
<a nz-button nzType="link" (click)="deliverGoods(data)">立即发货</a>
<br
/></span>
<a nz-button nzType="link" (click)="goDetail(data)">查看详情</a>
</div>
</td>
</ng-container>
</ng-container>
</tr>
</ng-container>
</tbody>
</nz-table>
</nz-tab>
</nz-tabset>
</nz-card>
<ng-template #exportTemplate>
<nz-alert nzType="info" nzMessage="为保证报表导出性能最多只能导出最近1W个订单" nzShowIcon></nz-alert>
<sv-container col="1" style="margin-top: 20px">
<sv label="报表字段">
<nz-tag *ngFor="let item of exportFieldList" nzColor="#2db7f5">
{{ item }}
</nz-tag>
</sv>
</sv-container>
</ng-template>

View File

@ -0,0 +1,128 @@
.order-goods {
display: flex;
text-align: left;
.order-goods-img {
width: 80px;
height: 80px;
margin-right: 10px;
overflow: hidden;
img {
width: 100%;
}
}
.order-goods-info {
flex: 1;
}
.order-goods-state {
width: 70px;
margin-left: 10px;
line-height: 28px;
text-align: right;
}
}
h2 {
font-size: 16px;
}
p {
font-size: 14px;
}
.form,
.table {
background-color: #fff;
}
.form {
padding: 20px;
}
.select-item {
width: 180px;
}
.ant-form-item {
margin-bottom: 16px;
}
.order-line {
display: flex;
justify-content: space-between;
}
.order-receiving {
.order-receiving-remark {
line-height: 26px;
span {
color: #1890ff;
}
input {
width: 130px;
margin-right: 6px;
padding: 0;
overflow: hidden;
color: #1890ff;
white-space: nowrap;
text-overflow: ellipsis;
background: none;
border: none;
&.have-edit {
color: #000000a6;
border: 1px solid #d9d9d9;
}
}
}
}
.order-operation {
div {
color: #1890ff;
cursor: pointer;
}
p {
margin-bottom: 10px;
}
}
.timeline {
span {
display: inline-block;
margin: 0 4px;
padding: 5px 6px;
color: #999;
background-color: #f2f2f2;
border-radius: 2px;
cursor: pointer;
}
}
.ant-table-tbody > tr.ant-table-row:hover > td {
background: #fff;
}
.btnBox {
margin: 0 0 10px 0;
}
.searchAreaWrap {
display: flex;
}
.sfExpand {
display: block;
}
.actionBox {
margin: 0 0 0 10px;
}
.sfBox {
width: 60%;
}
.expandsfBox {
width: 100%;
}
.expandAcitonBox {
margin: 10px 0 20px 0;
text-align: right;
}
.actionAreaWrap {
margin: 0 0 20px 0;
}
.overflowText {
display: -webkit-box;
overflow: hidden;
text-align: left;
text-overflow: -o-ellipsis-lastline;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
}

View File

@ -0,0 +1,31 @@
/*
* @Description:
* @Author: wsm
* @Date: 2021-07-08 15:46:29
* @LastEditTime: 2021-12-01 10:02:07
* @LastEditors: Please set LastEditors
* @Reference:
*/
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { SupplyGoodsComponentListCarloadComponent } from './carload.component';
describe('SupplyGoodsComponentListCarloadComponent', () => {
let component: SupplyGoodsComponentListCarloadComponent;
let fixture: ComponentFixture<SupplyGoodsComponentListCarloadComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [SupplyGoodsComponentListCarloadComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SupplyGoodsComponentListCarloadComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,398 @@
/*
* @Description:
* @Author: wsm
* @Date: 2021-07-15 09:42:57
* @LastEditTime: 2021-12-01 10:36:54
* @LastEditors: Please set LastEditors
* @Reference:
*/
import { AfterViewInit, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
import { STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { ModalHelper } from '@delon/theme';
import { NzModalService } from 'ng-zorro-antd/modal';
import { filter } from 'rxjs/operators';
@Component({
selector: 'app-supply-goods-components-list-carload',
templateUrl: './carload.component.html',
styleUrls: ['./carload.component.less'],
})
export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterViewInit {
@ViewChild('st', { static: true }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
validateForm!: FormGroup;
@ViewChild('exportTemplate')
exportTemplate!: TemplateRef<any>;
ui: SFUISchema = {};
mode: any = 'search';
tabs = ['全部', '待审核', '待支付', '待发货', '待收货', '已完成'];
exportFieldList = [
'订单号',
'下单时间',
'支付方式',
'订单金额',
'订单状态',
'下单商家',
'SKU信息SKUID,商品名称+规格名称,数量)',
'配送方式',
'收件人',
'收件人电话',
'收件人地址',
];
listData: any;
orderStatus: any = '0'; // 订单状态, 10为已提交待付款, 20为已付款待发,30为已发货待收货,50取消订单,40 已完成
nzSelectedIndex = 0;
total = 1;
loading = false;
pageSize = 20;
pageIndex = 1;
toSendCount = 0;
addTimeStart = '';
addTimeEnd = '';
sfExpand = false;
_$expand = false;
schema!: SFSchema;
payStatus: any;
constructor(
private fb: FormBuilder,
private modal: NzModalService,
private router: Router,
private ar: ActivatedRoute,
private modalHelper: ModalHelper,
) {}
ngOnInit(): void {
this.getList();
this.initSF();
this.initUI();
}
ngAfterViewInit() {
// this.router.events.pipe(filter((evt) => evt instanceof NavigationEnd)).subscribe(() => {
//
// });
}
initSF() {
this.schema = {
properties: {
expand: {
type: 'boolean',
ui: {
hidden: true,
},
},
storeName: { title: '企业名称', type: 'string', ui: { showRequired: false } },
contactsName: {
title: '联系人',
type: 'string',
ui: {
showRequired: false,
},
},
unifiedSocialCreditCode: {
title: '税源地',
type: 'string',
ui: {
showRequired: false,
},
},
enStatus: {
type: 'string',
title: '货主状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
enStatus2: {
type: 'string',
title: 'CRM审核状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
},
};
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
}
initUI() {
this.ui = {
'*': {
spanLabelFixed: 90,
grid: { span: 8 },
},
};
}
tabChange(i: number) {
this.changeIndex(i);
this.getList();
}
changeIndex(i: number) {
if (i === 0) {
this.orderStatus = '0';
this.payStatus = null;
} else if (i === 1) {
this.orderStatus = '5';
this.payStatus = null;
} else if (i === 2) {
this.orderStatus = null;
this.payStatus = '10';
} else if (i === 3) {
this.orderStatus = '20';
this.payStatus = null;
} else if (i === 4) {
this.orderStatus = '30';
this.payStatus = null;
} else if (i === 5) {
this.orderStatus = '40';
this.payStatus = null;
}
this.pageIndex = 1;
}
getList(type?: string) {
// this.loading = true;
const params: any = {
pageSize: this.pageSize,
pageIndex: this.pageIndex,
...this.sf?.value,
orderStatus: this.orderStatus,
payStatus: this.payStatus,
createTime: this.sf?.value.createTime || [],
time: {},
};
if (this.sf?.value?.createTime) {
delete params.createTime;
params.time.start = this.sf?.value?.createTime[0];
params.time.end = this.sf?.value?.createTime[1];
}
delete params.expand;
if (type === 'search') {
params.pageIndex = 1;
}
// this.service.request(this.service.$api_get_page, params).subscribe((res) => {
// this.loading = false;
// this.listData = res.orderPage.records;
// this.toSendCount = res.toSendCount;
// this.listData.forEach((element: { goodsList: { goodsSpecJson: string }[] }) => {
// element.goodsList.forEach((item: { goodsSpecJson: string }) => {
// if (item.goodsSpecJson) {
// item.goodsSpecJson = JSON.parse(item.goodsSpecJson);
// }
// });
// });
// this.total = res.orderPage.total;
// });
}
orderExport() {
// this.service.exportStart(params, this.service.$api_export);
this.modal.create({
nzTitle: '订单导出',
nzContent: this.exportTemplate,
// nzContent: `待导出订单总数:${this.pageInfo.total}条,确定要导出吗?`,
nzOnOk: () => {
const params: any = {
pageSize: this.pageSize,
pageIndex: this.pageIndex,
...this.sf?.value,
orderStatus: this.orderStatus,
// createTime: this.sf?.value.createTime || [],
};
delete params.expand;
},
});
}
goDetail(data: any) {
this.router.navigate(['../order-detail', data.orderSn], { relativeTo: this.ar });
}
// 批量发货
deliverBelivery() {
this.router.navigate(['../order-batch-delivery'], { relativeTo: this.ar });
}
changePageIndex(pageIndex: number) {
this.pageIndex = pageIndex;
this.getList();
}
changePageSize(value: number) {
this.pageSize = value;
this.getList();
}
expandToggle() {
this.sfExpand = !this.sfExpand;
this.sf?.setValue('/expand', this.sfExpand);
}
// 修改运单
updateLogistics(data: any) {
// 如果是多个运单
if (data.deliveryList.length > 1) {
this.updateLogisticsList(data);
} else {
data.deliveryAddrId = data.deliveryList[0].deliveryAddrId;
data.deliveryCorpSn = data.deliveryList[0].deliveryCorpSn;
data.deliverySn = data.deliveryList[0].deliverySn; // 原物流单号
data.expressName = data.deliveryList[0].expressName; // 原物流公司
data.sendName = data.deliveryList[0].sendName;
data.sendMobile = data.deliveryList[0].sendMobile;
data.sendAddr = data.deliveryList[0].sendAddr;
data.orderExpressItemVOList = data.deliveryList[0].orderExpressItemVOList; // 运单对应的发货商品信息
this.updateLogisticsPop(data);
}
}
// 修改运单中间页List
updateLogisticsList(data: any) {
const modalRef = this.modal.create({
nzTitle: '运单信息',
nzWidth: 1200,
// nzContent: OrderComponentsOrderLogisticsmessageComponent,
nzComponentParams: {
listData: data,
},
nzFooter: null,
});
modalRef.afterClose.subscribe((result) => {
if (result === true) {
this.getList();
}
});
}
// 修改运单弹窗
updateLogisticsPop(data: any) {
const modalRef = this.modal.create({
nzTitle: '已发货商品',
nzWidth: 1200,
// nzContent: OrderComponentsOrderDeliverGoodsUpdateComponent,
nzComponentParams: {
listData: data,
},
nzFooter: null,
});
modalRef.afterClose.subscribe((result) => {
if (result === true) {
this.getList();
}
});
}
// 立即发货
deliverGoods(data: any) {
// const modalRef = this.modal.create({
// nzTitle: '订单发货',
// nzWidth: 1200,
// nzContent: OrderComponentsOrderDelivergoodsComponent,
// nzComponentParams: {
// listData: data,
// },
// nzFooter: null,
// });
// modalRef.afterOpen.subscribe(() => {});
// modalRef.afterClose.subscribe((result) => {
// if (result === true) {
// this.getList();
// }
// });
this.router.navigate(['../order-deliver-goods'], { relativeTo: this.ar });
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this.sfExpand = false;
}
/**
* 立即确认
*/
deliversure(val: any) {
const modalRef = this.modal.create({
nzTitle: '订单确认',
nzWidth: 700,
// nzContent: OrderComponentsOrderOrderlistOrderSureComponent,
nzComponentParams: {
record: val,
},
nzFooter: null,
});
modalRef.afterOpen.subscribe(() => {});
modalRef.afterClose.subscribe((result) => {
if (result === true) {
this.getList();
}
});
}
/**
* 付款审核
*/
paymentReview(data: any) {
const dialogData = {
...data,
};
// this.modalHelper.create(OrderComponentsOrderOrderlistPaymentReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => {
// if (res === '2') {
// this.getList();
// }
// });
}
/**
* 修改价格
*/
modifyPrice(data: any) {
const dialogData = {
...data,
};
// this.modalHelper.create(OrderComponentsOrderOrderlistModifyPriceComponent, { dialogData }, { size: 900 }).subscribe((res) => {
// if (res === '2') {
// this.getList();
// }
// });
}
/**
* 审核
*/
orderReview(data: any) {
const dialogData = {
...data,
};
// this.modalHelper.create(OrderReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => {
// if (res === '2') {
// this.getList();
// }
// });
}
/**
* 查询字段个数navigate
*/
get queryFieldCount(): number {
return Object.keys(this.schema?.properties || {}).length;
}
}

View File

@ -0,0 +1,19 @@
<!--
* @Author: your name
* @Date: 2021-12-01 09:25:32
* @LastEditTime: 2021-12-01 10:03:18
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\list\list.component.html
-->
<page-header-wrapper [title]="''"></page-header-wrapper>
<nz-card>
<nz-tabset [nzSelectedIndex]="nzSelectedIndex">
<nz-tab nzTitle="整车货源">
<app-supply-goods-components-list-carload></app-supply-goods-components-list-carload>
</nz-tab>
<nz-tab nzTitle="大宗货源">
</nz-tab>
</nz-tabset>
</nz-card>

View File

@ -0,0 +1,31 @@
/*
* @Author: your name
* @Date: 2021-12-01 09:25:32
* @LastEditTime: 2021-12-01 09:55:39
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\list\list.component.spec.ts
*/
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { SupplyGoodsComponentListComponent } from './list.component';
describe('SupplyGoodsComponentListComponent', () => {
let component: SupplyGoodsComponentListComponent;
let fixture: ComponentFixture<SupplyGoodsComponentListComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [SupplyGoodsComponentListComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SupplyGoodsComponentListComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,22 @@
/*
* @Author: your name
* @Date: 2021-12-01 09:25:32
* @LastEditTime: 2021-12-01 09:49:32
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\list\list.component.ts
*/
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-supply-goods-components-list',
templateUrl: './list.component.html',
})
export class SupplyGoodsComponentListComponent implements OnInit {
constructor(private ar: ActivatedRoute) {}
nzSelectedIndex = 0;
ngOnInit(): void {
this.nzSelectedIndex = this.ar.snapshot.queryParams.nzSelectedIndex;
}
}

View File

@ -0,0 +1,23 @@
/*
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-12-01 10:33:33
* @LastEditors: Please set LastEditors
* @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
*/
import { Injectable, Injector } from '@angular/core';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { BaseService } from 'src/app/shared/services/core/base.service';
import { EAFileUtil } from 'src/app/shared/utils/file.util';
@Injectable({
providedIn: 'root',
})
export class SupplyGoodsService extends BaseService {
constructor(public injector: Injector) {
super(injector);
}
}

View File

@ -0,0 +1,22 @@
/*
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-12-01 09:52:45
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\usercenter-routing.module.ts
*/
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { SupplyGoodsComponentListComponent } from './components/list/list.component';
const routes: Routes = [
{ path: 'list', component: SupplyGoodsComponentListComponent}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class SupplyGoodsRoutingModule {}

View File

@ -0,0 +1,24 @@
/*
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-12-01 10:03:01
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import { NgModule } from '@angular/core';
import { SharedModule } from '@shared';
import { SupplyGoodsComponentListCarloadComponent } from './components/carload/carload.component';
import { SupplyGoodsComponentListComponent } from './components/list/list.component';
import { SupplyGoodsRoutingModule } from './supply-goods-routing.module';
const COMPONENTS = [
SupplyGoodsComponentListComponent,
SupplyGoodsComponentListCarloadComponent
];
@NgModule({
imports: [SharedModule, SupplyGoodsRoutingModule],
declarations: [...COMPONENTS],
})
export class SupplyGoodsModule {}

View File

@ -1,13 +1,13 @@
<!--
* @Author: your name
* @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-11-30 17:38:59
* @LastEditTime: 2021-11-30 20:39:39
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\list.component.html
-->
<!-- 页头 -->
<page-header-wrapper [title]="'司机列表'"></page-header-wrapper>
<page-header-wrapper ></page-header-wrapper>
<nz-card>
<!-- 搜索区 -->
<!-- 搜索表单 -->

View File

@ -106,57 +106,14 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
placeholder: '请输入手机号',
},
},
enStatus: {
phon747e: {
title: '银行卡号',
type: 'string',
title: '实名状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
enStatus2: {
type: 'string',
title: '驾驶证状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
},
},
enStatus23: {
type: 'string',
title: '从业资格证状态',
enum: [
{ label: '全部', value: '' },
{ label: '正常', value: 0 },
{ label: '冻结', value: 1 },
{ label: '废弃', value: 2 },
],
default: '',
ui: {
widget: 'select',
visibleIf: {
expand: (value: boolean) => value,
},
placeholder: '请输入银行卡号',
},
},
phone2: {
title: '业务员手机号',
type: 'string',
@ -164,12 +121,15 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
maxLength: 11,
ui: {
placeholder: '请输入手机号',
visibleIf: {
expand: (value: boolean) => value
}
},
},
},
};
this.ui = { '*': { spanLabelFixed: 180, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
}
initST() {
@ -179,36 +139,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
{ title: '手机号', className: 'text-center', index: 'contactsName' },
{ title: '承运总单量', className: 'text-center', render: 'enterpriseName' },
{ title: '当前车辆', className: 'text-center', index: 'unifiedSocialCreditCode' },
{ title: '实名认证状态', className: 'text-center', index: 'effectiveDateStr',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '驾驶证状态',
className: 'text-center',
index: 'enStatusStr2',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '从业资格证状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{ title: '银行卡号', className: 'text-center', index: 'unifiedSocialCreditCode' },
{ title: '推广业务员', className: 'text-center', index: 'unifiedSocialCreditCode2' },
{ title: '注册时间', className: 'text-center', index: 'unifiedSocialCreditCode3' },
{
@ -219,7 +150,7 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
{
text: '查看',
click: (item) => {
this.router.navigate(['./detail', item.tenantId], { relativeTo: this.ar });
this.router.navigate(['/usercenter/driver/detail', item.tenantId], { relativeTo: this.ar });
// this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } });
},
},

View File

@ -101,6 +101,17 @@
]
}]
},
{
"text": "货源管理",
"icon": "anticon anticon-dashboard",
"group": true,
"children": [
{
"text": "货源管理",
"link": "/supplygoods/list"
}
]
},
{
"text": "系统设置",
"icon": "anticon anticon-dashboard",