This commit is contained in:
Taric Xin
2022-05-06 16:22:15 +08:00
parent 3fc7ef2f45
commit de78398c54
11 changed files with 183 additions and 369 deletions

View File

@ -1,7 +1,5 @@
<page-header-wrapper [title]="''"></page-header-wrapper>
<!-- <page-header-wrapper [title]="''"></page-header-wrapper>
<nz-card>
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<div nz-col [nzSpan]="_$expand ? 24 : 18">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
@ -17,18 +15,19 @@
</button>
</div>
</div>
</nz-card>
<nz-card>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length>0">
</nz-card> -->
<nz-card class="table-box">
<div class="tab_header">
<label class="page_title"> <label class="driver">|</label> 资金上报</label>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length>0">
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)">
</nz-tab>
</nz-tabset>
</div>
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)">
</nz-tab>
</nz-tabset>
<!-- 数据列表 -->
<st #st [scroll]="{x:'1200px'}" [data]="service.$api_get_fund_reporting_page" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10,20, 50, 100] }" (change)="changeSt($event)">
<st #st [scroll]="{x:'1200px',y:scrollY}" [data]="service.$api_get_fund_reporting_page" [columns]="columns"
[req]="{ params: reqParams }" [page]="{ }" (change)="changeSt($event)">
<ng-template st-row="uploadStatus" let-item>
<span [ngClass]="{'text-red-dark':item?.uploadStatus === '4'}">{{item?.uploadStatusLabel}}</span>
</ng-template>
@ -52,14 +51,28 @@
</st>
</nz-card>
<ng-template #extraTemplate>
<div class="d-flex align-items-center">
<div class="d-flex align-items-center mr-sm">
<div class="mr-md">
已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
</div>
<button nz-button nzType="primary" (click)="upload()" acl [acl-ability]="['FUND-REPORTING-upload']">上传</button>
<button nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['FUND-REPORTING-recall']">撤回</button>
<button nz-button nzType="primary" (click)="updateData()" acl
[acl-ability]="['FUND-REPORTING-upload-data']">更新数据</button>
<button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['FUND-REPORTING-search']"
(click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="export()" acl [acl-ability]="['FUND-REPORTING-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)="upload()" acl [acl-ability]="['FUND-REPORTING-upload']">
上传
</li>
<li nz-menu-item (click)="recall()" acl [acl-ability]="['FUND-REPORTING-recall']">
撤回
</li>
<li nz-menu-item (click)="updateData()" acl [acl-ability]="['FUND-REPORTING-upload-data']">
更新数据
</li>
</ul>
</nz-dropdown-menu>
</div>
</ng-template>
</ng-template>

View File

@ -1,24 +1,21 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STChange, STColumn, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { ShipperBaseService } from '@shared';
import { SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { ReportingService } from '../../services/reporting.service';
import { DatatableReportingFundInfoComponent } from '../fund-info/fund-info.component';
@Component({
selector: 'app-datatable-fund-reporting',
templateUrl: './fund-reporting.component.html',
styleUrls: ['./fund-reporting.component.less']
styleUrls: ['../../../../commom/less/commom-table.less']
})
export class DatatableFundReportingComponent implements OnInit {
_$expand = false;
ui!: SFUISchema;
schema!: SFSchema;
export class DatatableFundReportingComponent extends BasicTableComponent implements OnInit {
columns!: STColumn[];
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
tabType!: string;
tabs: any[] = [
{ name: '待上传', value: '1' },
@ -36,15 +33,9 @@ export class DatatableFundReportingComponent implements OnInit {
private router: Router,
private ar: ActivatedRoute,
private modal: NzModalService,
public shipperSrv: ShipperBaseService
public searchDrawerService: SearchDrawerService
) {
}
/**
* 查询字段个数
*/
get queryFieldCount(): number {
return Object.keys(this.schema?.properties || {}).length;
super(searchDrawerService);
}
/**
@ -65,22 +56,6 @@ export class DatatableFundReportingComponent implements OnInit {
// return this.st?.list.filter((item: any) => item.checked) || [];
// }
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/_$expand', this._$expand);
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
this.isLoading = true
}
/**
* 程序初始化入口
*/
@ -95,29 +70,26 @@ export class DatatableFundReportingComponent implements OnInit {
initSF() {
this.schema = {
properties: {
_$expand: { type: 'boolean', ui: { hidden: true } },
orderCode: { title: '订单号', type: 'string', ui: { placeholder: '请输入' } },
wayBillCode: {
type: 'string',
title: '运单号',
ui: {
placeholder: '请输入',
},
placeholder: '请输入'
}
},
serialNumberCode: {
type: 'string',
title: '流水单号',
ui: {
placeholder: '请输入',
},
placeholder: '请输入'
}
},
carrier: {
title: '承运司机',
type: 'string',
ui: {
placeholder: '请输入司机姓名', visibleIf: {
_$expand: (value: boolean) => value,
},
placeholder: '请输入司机姓名'
}
},
carNumber: {
@ -125,10 +97,7 @@ export class DatatableFundReportingComponent implements OnInit {
type: 'string',
maxLength: 9,
ui: {
placeholder: '请输入',
visibleIf: {
_$expand: (value: boolean) => value,
},
placeholder: '请输入'
}
},
payee: {
@ -136,10 +105,7 @@ export class DatatableFundReportingComponent implements OnInit {
type: 'string',
maxLength: 9,
ui: {
placeholder: '请输入',
visibleIf: {
_$expand: (value: boolean) => value,
},
placeholder: '请输入'
}
},
// uploadStatus: {
@ -170,10 +136,7 @@ export class DatatableFundReportingComponent implements OnInit {
ui: {
placeholder: '请选择',
allowClear: true,
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value,
},
widget: 'select'
}
},
ltdId: {
@ -182,10 +145,7 @@ export class DatatableFundReportingComponent implements OnInit {
ui: {
placeholder: '请选择',
widget: 'select',
asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, false),
visibleIf: {
_$expand: (value: boolean) => value,
},
asyncData: () => this.service.getNetworkFreightForwarder({}, false),
allowClear: true
}
},
@ -195,11 +155,8 @@ export class DatatableFundReportingComponent implements OnInit {
ui: {
widget: 'sl-from-to',
type: 'date',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
},
uploadTime: {
title: '上传时间',
@ -207,17 +164,10 @@ export class DatatableFundReportingComponent implements OnInit {
ui: {
widget: 'sl-from-to',
type: 'date',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
},
},
};
this.ui = {
'*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 }, enter: () => this.search() },
$time: { grid: { span: 24 } },
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
}
}
};
}
@ -226,22 +176,22 @@ export class DatatableFundReportingComponent implements OnInit {
*/
initST() {
this.columns = [
{ title: '', type: 'checkbox', className: 'text-center', width: '60px', },
{ title: '上传状态', render: 'uploadStatus', className: 'text-center', width: '120px', },
{ title: '本地校验', render: 'verifyStatus', className: 'text-center', width: '120px', },
{ title: '流水单号', index: 'serialNumberCode', className: 'text-center', width: '190px', },
{ title: '', type: 'checkbox', className: 'text-center', width: '60px' },
{ title: '上传状态', render: 'uploadStatus', className: 'text-center', width: '120px' },
{ title: '本地校验', render: 'verifyStatus', className: 'text-center', width: '120px' },
{ title: '流水单号', index: 'serialNumberCode', className: 'text-center', width: '190px' },
{
title: '订单号',
render: 'orderCode',
className: 'text-center',
width: '180px',
width: '180px'
},
{ title: '运单号', render: 'wayBillCode', className: 'text-center', width: '180px', },
{ title: '运单号', render: 'wayBillCode', className: 'text-center', width: '180px' },
{
title: '网络货运人',
index: 'ltdName',
className: 'text-center',
width: '180px',
width: '180px'
},
{ title: '实际承运人名称', index: 'carrier', className: 'text-center', width: '150px' },
{ title: '实际承运人证件号码', index: 'cardId', className: 'text-center', width: '200px' },
@ -259,12 +209,10 @@ export class DatatableFundReportingComponent implements OnInit {
{ title: '实际支付金额', render: 'payAmount', className: 'text-center', width: '150px' },
{ title: '交易时间', index: 'transactionTime', className: 'text-center', width: '180px' },
{ title: '上传次数', index: 'uploadFrequency', className: 'text-center', width: '120px' },
{ title: '上传时间', index: 'uploadTime', className: 'text-center', width: '180px' },
{ title: '上传时间', index: 'uploadTime', className: 'text-center', width: '180px' }
];
}
/**
*撤销
* @param record 记录实例
@ -287,11 +235,9 @@ export class DatatableFundReportingComponent implements OnInit {
this.search();
}
})
});
}
});
}
selectChange(item: any) {
@ -300,7 +246,7 @@ export class DatatableFundReportingComponent implements OnInit {
setTimeout(() => {
this.selectedRows = [];
this.st.load(1);
})
});
}
/**
@ -310,7 +256,7 @@ export class DatatableFundReportingComponent implements OnInit {
// this.router.navigate(['../view', record.uuid], { relativeTo: this.ar });
this.router.navigate(['../detail'], {
queryParams: {
id: record.id,
id: record.id
},
relativeTo: this.ar
});
@ -348,12 +294,9 @@ export class DatatableFundReportingComponent implements OnInit {
this.service.msgSrv.success('上传成功');
this.search();
}
})
});
}
/**
* 查看校验结果
*/
@ -368,12 +311,9 @@ export class DatatableFundReportingComponent implements OnInit {
},
nzFooter: null
});
modalRef.afterClose.subscribe(res => {
})
modalRef.afterClose.subscribe(res => {});
}
/**
* 查看监管审核结果
*/
@ -381,7 +321,7 @@ export class DatatableFundReportingComponent implements OnInit {
if (record?.verifyStatus !== '2') {
return;
}
this.openWainingModal('监管审核结果', record?.uploadResult)
this.openWainingModal('监管审核结果', record?.uploadResult);
}
/**
@ -398,20 +338,18 @@ export class DatatableFundReportingComponent implements OnInit {
this.service.msgSrv.success('更新成功');
this.selectedRows = [];
this.st.reload();
}
})
});
}
search() {
this.selectedRows = [];
this.st.load(1);
}
/**
* 异步导出
*/
* 异步导出
*/
export() {
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_fund_reporting);
}
@ -420,12 +358,11 @@ export class DatatableFundReportingComponent implements OnInit {
this.modal.warning({
nzMask: false,
nzTitle: title,
nzContent: content,
})
nzContent: content
});
}
changeSt(e: STChange): void {
if (e.type === 'checkbox') {
const checkRows = (e.checkbox as STData[]) || [];
//判断当前页是否有选中的行
@ -434,16 +371,15 @@ export class DatatableFundReportingComponent implements OnInit {
const stList = this.st.list;
stList.forEach(item => {
this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id);
})
});
} else {
//添加新增的行
checkRows.forEach((item: any) => {
const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id);
if (newSelectedList.length === 0) {
this.selectedRows.push(item);
}
})
});
// 移除取消选中的行
const stList = this.st.list;
stList.forEach(item => {
@ -451,12 +387,12 @@ export class DatatableFundReportingComponent implements OnInit {
const index = this.selectedRows.findIndex(_item => item.id === _item.id);
if (index !== -1) this.selectedRows.splice(index, 1);
}
})
});
}
} else if (e.type === 'loaded') {
// 页面加载时勾选
(e?.loaded || []).forEach((r: any) => {
this.selectedRows.forEach((x) => {
this.selectedRows.forEach(x => {
if (x.id === r.id) {
r.checked = true;
}
@ -470,7 +406,7 @@ export class DatatableFundReportingComponent implements OnInit {
window.open(location.origin + `/#/order-management/vehicle/vehicle-detail/${item.orderId}`);
} else if (item.orderType === '2') {
window.open(location.origin + `/#/order-management/bulk/bulk-detail/${item.orderId}`);
} else if (item.orderType === '3'){
} else if (item.orderType === '3') {
this.router.navigate(['/order-management/vehicle/vehicle-detail/' + item.orderId]);
}
}
@ -478,14 +414,10 @@ export class DatatableFundReportingComponent implements OnInit {
routeTowaybill(item: any) {
if (item.orderType === '1') {
window.open(location.origin + `/#/waybill-management/vehicle/vehicle-detail/${item.wayBillId}`);
} else if (item.orderType === '2') {
window.open(location.origin + `/#/waybill-management/bulk/bulk-detail/${item.wayBillId}`);
} else if (item.orderType === '3') {
window.open(location.origin + `/#/waybill-management/vehicle/vehicle-detail/${item.wayBillId}`);
}
}
}

View File

@ -1,17 +1,5 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:07
* @LastEditors : Shiming
* @LastEditTime : 2022-04-28 21:15:20
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\reporting\\components\\order-reporting\\order-reporting.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="''"></page-header-wrapper>
<!-- <page-header-wrapper [title]="''"></page-header-wrapper>
<nz-card>
<!-- 搜索表单 -->
<div nz-row nzGutter="8">
<div nz-col [nzSpan]=" 24 ">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
@ -27,19 +15,19 @@
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
</div>
</nz-card>
<nz-card>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length>0">
</nz-card> -->
<nz-card class="table-box">
<div class="tab_header">
<label class="page_title"> <label class="driver">|</label> 订单上报</label>
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)">
</nz-tab>
</nz-tabset>
</div>
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="selectChange(tab)">
</nz-tab>
</nz-tabset>
<!-- 数据列表 -->
<st #st [scroll]="{x:'1200px'}" [data]="service.$api_get_order_reporting_page" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10,20, 50, 100] }" [loading]="service.http.loading"
(change)="changeSt($event)">
<st #st [scroll]="{x:'1200px',y:scrollY}" [data]="service.$api_get_order_reporting_page" [columns]="columns"
[req]="{ params: reqParams }" [page]="{ }" [loading]="service.http.loading" (change)="changeSt($event)">
<ng-template st-row="billPutStatus" let-item let-index="index">
<a *ngIf="item?.billPutStatus === '2'" (click)="viewAuditResult(item)">{{filterStatus(item?.billPutStatus)}}</a>
<span *ngIf="item?.billPutStatus !== '2'">{{filterStatus(item?.billPutStatus)}}</span>
@ -85,16 +73,32 @@
</st>
</nz-card>
<ng-template #extraTemplate>
<div class="d-flex align-items-center">
<div class="d-flex align-items-center mr-sm">
<div class="mr-md">
已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
</div>
<button nz-button nzType="primary" (click)="upload()" acl [acl-ability]="['ORDER-REPORTING-upload']">上传</button>
<button nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['ORDER-REPORTING-recall']">撤回</button>
<button nz-button nzType="primary" (click)="updateData()" acl
[acl-ability]="['ORDER-REPORTING-update-data']">更新数据</button>
<button nz-button nzType="primary" (click)="uploadSetting()" acl
[acl-ability]="['ORDER-REPORTING-search-updata']">上传设置</button>
<button nz-button nzDanger [nzLoading]="isLoading && st.loading" acl [acl-ability]="['ORDER-REPORTING-search']"
(click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="export()" acl [acl-ability]="['ORDER-REPORTING-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)="upload()" acl [acl-ability]="['ORDER-REPORTING-upload']">
上传
</li>
<li nz-menu-item (click)="recall()" acl [acl-ability]="['ORDER-REPORTING-recall']">
撤回
</li>
<li nz-menu-item (click)="updateData()" acl [acl-ability]="['ORDER-REPORTING-update-data']">
更新数据
</li>
<li nz-menu-item (click)="uploadSetting()" acl [acl-ability]="['ORDER-REPORTING-search-updata']">
上传设置
</li>
</ul>
</nz-dropdown-menu>
</div>
</ng-template>
</ng-template>

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 { DatatableOrderReportingComponent } from './order-reporting.component';
describe('DatatableOrderReportingComponent', () => {
let component: DatatableOrderReportingComponent;
let fixture: ComponentFixture<DatatableOrderReportingComponent>;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
declarations: [ DatatableOrderReportingComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(DatatableOrderReportingComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -2,8 +2,9 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STChange, STColumn, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { ShipperBaseService } from '@shared';
import { SearchDrawerService, ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { ReportingService } from '../../services/reporting.service';
import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component';
import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component';
@ -12,15 +13,11 @@ import { DatatableReportingvViewTrackComponent } from '../view-track/view-track.
@Component({
selector: 'app-datatable-order-reporting',
templateUrl: './order-reporting.component.html',
styleUrls: ['./order-reporting.component.less']
styleUrls: ['../../../../commom/less/commom-table.less']
})
export class DatatableOrderReportingComponent implements OnInit {
_$expand = false;
ui!: SFUISchema;
schema!: SFSchema;
export class DatatableOrderReportingComponent extends BasicTableComponent implements OnInit {
columns!: STColumn[];
@ViewChild('st', { static: false }) st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent;
tabType!: string;
tabs: any[] = [
{ name: '待上传', value: '0' },
@ -37,15 +34,9 @@ export class DatatableOrderReportingComponent implements OnInit {
private router: Router,
private ar: ActivatedRoute,
private modal: NzModalService,
public shipperSrv: ShipperBaseService
public searchDrawerService: SearchDrawerService
) {
}
/**
* 查询字段个数
*/
get queryFieldCount(): number {
return Object.keys(this.schema?.properties || {}).length;
super(searchDrawerService);
}
/**
@ -53,7 +44,7 @@ export class DatatableOrderReportingComponent implements OnInit {
*/
get reqParams() {
const params = Object.assign({}, this.sf?.value || {}, {
billPutStatus: this.selectedIndex,
billPutStatus: this.selectedIndex
});
delete params._$expand;
return { ...params };
@ -66,22 +57,6 @@ export class DatatableOrderReportingComponent implements OnInit {
// return this.st?.list.filter((item: any) => item.checked) || [];
// }
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/_$expand', this._$expand);
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
this.isLoading = true
}
/**
* 程序初始化入口
*/
@ -102,8 +77,8 @@ export class DatatableOrderReportingComponent implements OnInit {
type: 'string',
title: '运单号',
ui: {
placeholder: '请输入',
},
placeholder: '请输入'
}
},
networkTransporter: {
title: '网络货运人',
@ -111,7 +86,7 @@ export class DatatableOrderReportingComponent implements OnInit {
ui: {
placeholder: '请选择',
widget: 'select',
asyncData: () => this.shipperSrv.getNetworkFreightForwarder({}, false),
asyncData: () => this.service.getNetworkFreightForwarder({}, false),
allowClear: true
}
},
@ -119,19 +94,14 @@ export class DatatableOrderReportingComponent implements OnInit {
title: '货主',
type: 'string',
ui: {
placeholder: '请输入',
visibleIf: {
_$expand: (value: boolean) => value,
},
placeholder: '请输入'
}
},
driverName: {
title: '承运司机',
type: 'string',
ui: {
placeholder: '请输入司机姓名/手机号', visibleIf: {
_$expand: (value: boolean) => value,
},
placeholder: '请输入司机姓名/手机号'
}
},
carNo: {
@ -139,10 +109,7 @@ export class DatatableOrderReportingComponent implements OnInit {
type: 'string',
maxLength: 9,
ui: {
placeholder: '请输入',
visibleIf: {
_$expand: (value: boolean) => value,
},
placeholder: '请输入'
}
},
// putStatus: {
@ -175,10 +142,7 @@ export class DatatableOrderReportingComponent implements OnInit {
ui: {
placeholder: '请选择',
widget: 'select',
allowClear: true,
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true
}
},
recentlyPutTime: {
@ -187,11 +151,8 @@ export class DatatableOrderReportingComponent implements OnInit {
ui: {
widget: 'sl-from-to',
type: 'date',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
},
orderReceivingTime: {
title: '运单生成时间',
@ -199,11 +160,8 @@ export class DatatableOrderReportingComponent implements OnInit {
ui: {
widget: 'sl-from-to',
type: 'date',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
},
dispatchedDate: {
title: '发货时间',
@ -211,11 +169,8 @@ export class DatatableOrderReportingComponent implements OnInit {
ui: {
widget: 'sl-from-to',
type: 'date',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
},
receivingDate: {
title: '收货时间',
@ -223,11 +178,8 @@ export class DatatableOrderReportingComponent implements OnInit {
ui: {
widget: 'sl-from-to',
type: 'date',
format: 'yyyy-MM-dd',
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFDateWidgetSchema,
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema
},
trajectoryDataAppStatus: {
@ -240,10 +192,7 @@ export class DatatableOrderReportingComponent implements OnInit {
],
ui: {
placeholder: '请选择',
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value,
},
widget: 'select'
}
},
trajectoryDataStatus: {
@ -256,22 +205,10 @@ export class DatatableOrderReportingComponent implements OnInit {
],
ui: {
placeholder: '请选择',
widget: 'select',
visibleIf: {
_$expand: (value: boolean) => value,
},
widget: 'select'
}
},
},
};
this.ui = {
'*': {
spanLabelFixed: 120,
grid: {
lg: 12,
xl: 8
}, enter: () => this.search()
},
}
}
};
}
@ -280,24 +217,24 @@ export class DatatableOrderReportingComponent implements OnInit {
*/
initST() {
this.columns = [
{ title: '', type: 'checkbox', className: 'text-center', width: '60px', },
{ title: '订单状态', index: 'billPutStatusLabel', className: 'text-center', width: '120px', },
{ title: '司机状态', index: 'driverPutStatusLabel', className: 'text-center', width: '120px', },
{ title: '车辆状态', index: 'carPutStatusLabel', className: 'text-center', width: '120px', },
{ title: '本地校验', render: 'checkStatus', className: 'text-center', width: '120px', },
{ title: '', type: 'checkbox', className: 'text-center', width: '60px' },
{ title: '订单状态', index: 'billPutStatusLabel', className: 'text-center', width: '120px' },
{ title: '司机状态', index: 'driverPutStatusLabel', className: 'text-center', width: '120px' },
{ title: '车辆状态', index: 'carPutStatusLabel', className: 'text-center', width: '120px' },
{ title: '本地校验', render: 'checkStatus', className: 'text-center', width: '120px' },
{
title: '订单号',
render: 'billCode',
className: 'text-center',
width: '180px',
width: '180px'
},
{ title: '运单号', render: 'wayBillCode', className: 'text-center', width: '180px', },
{ title: '运单号', render: 'wayBillCode', className: 'text-center', width: '180px' },
{
title: '网络货运人',
index: 'enterpriseInfoName',
className: 'text-center',
width: '180px',
width: '180px'
},
{ title: '统一社会信用代码', index: 'unifiedSocialCreditCode', className: 'text-center', width: '200px' },
{ title: '运单生成时间', index: 'wayBillCreateTime', className: 'text-center', width: '180px' },
@ -317,12 +254,11 @@ export class DatatableOrderReportingComponent implements OnInit {
width: '250px',
type: 'enum',
enum: {
"4": "绿色",
"3": "黄绿色",
"2": "黄色",
"1": "蓝色"
'4': '绿色',
'3': '黄绿色',
'2': '黄色',
'1': '蓝色'
}
},
{ title: '司机姓名', index: 'driverName', className: 'text-center', width: '150px' },
{ title: '司机手机号码', index: 'driverPhone', className: 'text-center', width: '200px' },
@ -330,18 +266,14 @@ export class DatatableOrderReportingComponent implements OnInit {
{ title: '货物信息', index: 'goodsName', className: 'text-center', width: '180px' },
{ title: '实际承运人名称', index: 'carrierName', className: 'text-center', width: '150px' },
{ title: '实际承运人证件号码', index: 'carrierIdentityNo', className: 'text-center', width: '200px' },
{ title: '实际承运人道路运输许可证号', index: 'roadTransportNo', className: 'text-center', width: '150px' },
{ title: '实际承运人道路运输许可证号', index: 'roadTransportNo', className: 'text-center', width: '230px' },
{ title: '车辆轨迹', render: 'car', className: 'text-center', width: '250px' },
{ title: '司机轨迹', render: 'driver', className: 'text-center', width: '150px' },
{ title: '上传次数', index: 'putNumber', className: 'text-center', width: '150px' },
{ title: '上传时间', index: 'recentlyPutTime', className: 'text-center', width: '180px' },
{ title: '上传时间', index: 'recentlyPutTime', className: 'text-center', width: '180px' }
];
}
/**
*撤销
* @param record 记录实例
@ -363,14 +295,12 @@ export class DatatableOrderReportingComponent implements OnInit {
this.service.msgSrv.success('撤销成功');
this.search();
}
})
});
}
});
}
changeSt(e: STChange): void {
if (e.type === 'checkbox') {
const checkRows = (e.checkbox as STData[]) || [];
//判断当前页是否有选中的行
@ -379,16 +309,15 @@ export class DatatableOrderReportingComponent implements OnInit {
const stList = this.st.list;
stList.forEach(item => {
this.selectedRows = this.selectedRows.filter((e: any) => e.id !== item.id);
})
});
} else {
//添加新增的行
checkRows.forEach((item: any) => {
const newSelectedList = this.selectedRows.filter((r: any) => r.id === item.id);
if (newSelectedList.length === 0) {
this.selectedRows.push(item);
}
})
});
// 移除取消选中的行
const stList = this.st.list;
stList.forEach(item => {
@ -396,12 +325,12 @@ export class DatatableOrderReportingComponent implements OnInit {
const index = this.selectedRows.findIndex(_item => item.id === _item.id);
if (index !== -1) this.selectedRows.splice(index, 1);
}
})
});
}
} else if (e.type === 'loaded') {
// 页面加载时勾选
(e?.loaded || []).forEach((r: any) => {
this.selectedRows.forEach((x) => {
this.selectedRows.forEach(x => {
if (x.id === r.id) {
r.checked = true;
}
@ -415,7 +344,7 @@ export class DatatableOrderReportingComponent implements OnInit {
setTimeout(() => {
this.selectedRows = [];
this.st.load(1);
})
});
}
/**
@ -425,7 +354,7 @@ export class DatatableOrderReportingComponent implements OnInit {
// this.router.navigate(['../view', record.uuid], { relativeTo: this.ar });
this.router.navigate(['../detail'], {
queryParams: {
id: record.id,
id: record.id
},
relativeTo: this.ar
});
@ -463,10 +392,9 @@ export class DatatableOrderReportingComponent implements OnInit {
this.service.msgSrv.success('上传成功');
this.search();
}
})
});
}
/**
*
* @param params 上传设置
@ -479,8 +407,7 @@ export class DatatableOrderReportingComponent implements OnInit {
nzComponentParams: {},
nzFooter: null
});
modalRef.afterClose.subscribe(res => {
})
modalRef.afterClose.subscribe(res => {});
}
/**
@ -496,8 +423,7 @@ export class DatatableOrderReportingComponent implements OnInit {
},
nzFooter: null
});
modalRef.afterClose.subscribe(res => {
})
modalRef.afterClose.subscribe(res => {});
}
/**
@ -507,18 +433,17 @@ export class DatatableOrderReportingComponent implements OnInit {
if (record?.billStatus !== '2') {
return;
}
this.openWainingModal('监管审核结果', record?.result)
this.openWainingModal('监管审核结果', record?.result);
}
search() {
this.selectedRows = [];
this.st.load(1);
}
/**
* 异步导出
*/
* 异步导出
*/
export() {
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_reporting_order);
}
@ -527,15 +452,15 @@ export class DatatableOrderReportingComponent implements OnInit {
this.modal.warning({
nzMask: false,
nzTitle: title,
nzContent: content,
})
nzContent: content
});
}
/**
* 查看轨迹
*/
viewTrack(_record: any, trajectory: string) {
const title = trajectory === 'car' ? '车辆' : '司机'
const title = trajectory === 'car' ? '车辆' : '司机';
const modalRef = this.modal.create({
nzTitle: `查看${title}轨迹`,
nzWidth: 1000,
@ -546,13 +471,12 @@ export class DatatableOrderReportingComponent implements OnInit {
},
nzFooter: null
});
modalRef.afterClose.subscribe(res => {
})
modalRef.afterClose.subscribe(res => {});
}
/**
* 更新数据
*/
* 更新数据
*/
updateData() {
if (this.selectedRows.length === 0) {
this.openWainingModal('请选择需要更新的数据');
@ -565,7 +489,7 @@ export class DatatableOrderReportingComponent implements OnInit {
this.selectedRows = [];
this.st.reload();
}
})
});
}
filterStatus(status: number) {
@ -578,7 +502,6 @@ export class DatatableOrderReportingComponent implements OnInit {
return '上传异常';
default:
return '';
}
}
@ -592,16 +515,15 @@ export class DatatableOrderReportingComponent implements OnInit {
return '不通过';
default:
return '';
}
}
routeToOrder(item: any) {
if (item.billType === '1') {
window.open(location.origin + `/#/order-management/vehicle/vehicle-detail/${item.orderId}`);
} else if (item.billType === '2') {
} else if (item.billType === '2') {
window.open(location.origin + `/#/order-management/bulk/bulk-detail/${item.orderId}`);
} else if (item.billType === '3') {
} else if (item.billType === '3') {
window.open(location.origin + `/#/order-management/vehicle/vehicle-detail/${item.orderId}`);
}
}
@ -609,13 +531,10 @@ export class DatatableOrderReportingComponent implements OnInit {
routeTowaybill(item: any) {
if (item.billType === '1') {
window.open(location.origin + `/#/waybill-management/vehicle/vehicle-detail/${item.waybillId}`);
} else if (item.billType === '2') {
window.open(location.origin + `/#/waybill-management/bulk/bulk-detail/${item.waybillId}`);
} else if (item.billType === '3') {
window.open(location.origin + `/#/waybill-management/vehicle/vehicle-detail/${item.waybillId}`);
}
}
}

View File

@ -1,10 +1,10 @@
import { Injectable, Injector } from '@angular/core';
import { BaseService } from '@shared';
import { BaseService, ShipperBaseService } from '@shared';
@Injectable({
providedIn: 'root'
})
export class ReportingService extends BaseService {
export class ReportingService extends ShipperBaseService {
$api_get_order_reporting_page = `/api/sdc/regulation/list/queryPage`; // 订单上报-列表
$api_upload_order_reporting = `/api/sdc/regulation/push`; // 上传订单上报

View File

@ -11,15 +11,13 @@
import { Injectable, Injector } from '@angular/core';
import { _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { ShipperBaseService } from '@shared';
import { map } from 'rxjs/operators';
import { BaseService } from 'src/app/shared/services/core/base.service';
import { EAFileUtil } from 'src/app/shared/utils/file.util';
@Injectable({
providedIn: 'root',
})
export class DataService extends BaseService {
export class DataService extends ShipperBaseService {
// 查询运营报表
$api_listOperationalReportPage = `/api/sdc/report/listOperationalReportPage`;

View File

@ -32,7 +32,7 @@
</st>
</nz-card>
<ng-template #extraTemplate>
<div class="d-flex align-items-center">
<div class="d-flex align-items-center mr-sm">
<div class="mr-md">
已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据

View File

@ -1,22 +0,0 @@
:host {
.text-black {
color: #000;
}
.icon {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
/* stylelint-disable-next-line order/properties-order */
fill: currentColor;
}
::ng-deep {
.imgBox {
display: flex;
img {
width: 60px !important;
}
}
}
}

View File

@ -2,7 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STComponent, STData } from '@delon/abc/st';
import { SFDateWidgetSchema, SFSchemaEnum, SFSelectWidgetSchema } from '@delon/form';
import { SearchDrawerService, ShipperBaseService } from '@shared';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
@ -34,7 +34,6 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
public service: TaxManagementService,
private router: Router,
private ar: ActivatedRoute,
public shipperservice: ShipperBaseService,
private modal: NzModalService,
public searchDrawerService: SearchDrawerService
) {
@ -163,7 +162,7 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
widget: 'select',
placeholder: '请选择',
allowClear: true,
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
asyncData: () => this.service.getNetworkFreightForwarder()
}
},
recentlyPutTime: {