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

This commit is contained in:
wangshiming
2022-04-18 11:04:01 +08:00
7 changed files with 112 additions and 86 deletions

View File

@ -11,37 +11,38 @@
<!-- 页头 --> <!-- 页头 -->
<page-header-wrapper [title]="'数据报表'"></page-header-wrapper> <page-header-wrapper [title]="'数据报表'"></page-header-wrapper>
<nz-card> <nz-card>
<div style="display: flex;"> <div nz-row nzGutter="8">
<sf #sf mode="search" [schema]="searchSchema" button="none"></sf> <div nz-col [nzXl]="24" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<div class="chooseBox"> <sf #sf [schema]="searchSchema" button="none"
<div class="timeBox"> [ui]="{ '*': { spanLabelFixed: 0, grid: { xxl:5,xl:4, lg: 8, md: 12, sm: 12, xs: 24,gutter:20 } } }"
<nz-radio-group [(ngModel)]="mode" nzButtonStyle="solid" (ngModelChange)="changeData()"> [compact]="true">
<label nz-radio-button nzValue="year"></label> <ng-template sf-template="no4" let-me let-ui="ui" let-schema="schema">
<label nz-radio-button nzValue="month"></label> <div class="chooseBox">
<label nz-radio-button nzValue="date"></label> <div class="timeBox">
<label nz-radio-button nzValue="define">自定义</label> <nz-radio-group [(ngModel)]="mode" nzButtonStyle="solid" (ngModelChange)="changeData()">
</nz-radio-group> <label nz-radio-button nzValue="year"></label>
<div class="dateBox"> <label nz-radio-button nzValue="month"></label>
<nz-date-picker [(ngModel)]="date" [nzMode]="mode" [nzFormat]="dateFormat" *ngIf="mode !== 'define'" [nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-date-picker> <label nz-radio-button nzValue="date"></label>
<nz-range-picker [(ngModel)]="defineDate" [nzFormat]="dateFormat" *ngIf="mode === 'define'" [nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-range-picker> <label nz-radio-button nzValue="define">自定义</label>
</div> </nz-radio-group>
<div class="dateBox">
<nz-date-picker [(ngModel)]="date" [nzMode]="mode" [nzFormat]="dateFormat" *ngIf="mode !== 'define'"
[nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-date-picker>
<nz-range-picker [(ngModel)]="defineDate" [nzFormat]="dateFormat" *ngIf="mode === 'define'"
[nzDisabledDate]="disabledDate" (ngModelChange)="onChange($event)"></nz-range-picker>
</div>
</div>
</div>
</ng-template>
</sf>
</div> </div>
</div> </div>
</div> <st #st multiSort [scroll]="{ x: '2000px' }" [data]="service.$api_listCusComplianceReportPage" [columns]="columns"
<st [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
#st [scroll]="{ x: '1200px' }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
multiSort [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false">
[scroll]="{ x: '2000px' }" <ng-template st-row="freightPrice" let-item let-index="index">
[data]="service.$api_listCusComplianceReportPage" {{ item.freightPrice | currency }}
[columns]="columns" </ng-template>
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" </st>
[scroll]="{ x: '1200px' }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }" </nz-card>
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="false"
>
<ng-template st-row="freightPrice" let-item let-index="index">
{{ item.freightPrice | currency }}
</ng-template>
</st>
</nz-card>

View File

@ -1,11 +1,20 @@
.chooseBox{ .chooseBox {
display: flex; display: flex;
float : right;
} }
.timeBox{
.timeBox {
display: flex; display: flex;
margin: 0 0 0 10px; margin : 0 0 0 10px;
} }
.dateBox{
.dateBox {
display: inline-block; display: inline-block;
margin: 0 0 0 10px; margin : 0 0 0 10px;
}
:host::ng-deep {
.ant-form-item-control {
max-width: 100%;
}
} }

View File

@ -1,6 +1,6 @@
import { SFComponent } from '@delon/form'; import { SFComponent } from '@delon/form';
/* /*
* @Description : * @Description :
* @Version : 1.0 * @Version : 1.0
* @Author : Shiming * @Author : Shiming
* @Date : 2022-03-30 13:55:41 * @Date : 2022-03-30 13:55:41
@ -12,7 +12,7 @@ import { SFComponent } from '@delon/form';
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st'; import { STColumn, STComponent, STRequestOptions } from '@delon/abc/st';
import { SFSchema } from '@delon/form'; import { SFSchema } from '@delon/form';
import { ModalHelper, _HttpClient ,DatePipe} from '@delon/theme'; import { ModalHelper, _HttpClient, DatePipe } from '@delon/theme';
import { DataService } from '../../../services/data.service'; import { DataService } from '../../../services/data.service';
import { differenceInCalendarDays } from 'date-fns'; import { differenceInCalendarDays } from 'date-fns';
import { Placeholder } from '@angular/compiler/src/i18n/i18n_ast'; import { Placeholder } from '@angular/compiler/src/i18n/i18n_ast';
@ -22,19 +22,18 @@ import { Placeholder } from '@angular/compiler/src/i18n/i18n_ast';
templateUrl: './customer.component.html', templateUrl: './customer.component.html',
styleUrls: ['./customer.component.less'], styleUrls: ['./customer.component.less'],
providers: [DatePipe] providers: [DatePipe]
}) })
export class DatatableComplianceCustomerComponent implements OnInit { export class DatatableComplianceCustomerComponent implements OnInit {
@ViewChild('sf', {static: false}) sf!: SFComponent @ViewChild('sf', { static: false }) sf!: SFComponent;
mode = 'year'; mode = 'year';
type = 1; type = 1;
date: any = null; date: any = null;
defineDate = []; defineDate = [];
time: any = ['2022'] time: any = ['2022'];
dateFormat = 'yyyy'; dateFormat = 'yyyy';
dateNext: any = null; dateNext: any = null;
modeNext = 'year'; modeNext = 'year';
timeNext: any = ['2022-01-01 00:00:00'] timeNext: any = ['2022-01-01 00:00:00'];
today = new Date(); today = new Date();
searchSchema: SFSchema = { searchSchema: SFSchema = {
properties: { properties: {
@ -71,6 +70,15 @@ export class DatatableComplianceCustomerComponent implements OnInit {
} }
} }
}, },
no4: {
type: 'string',
title: '',
ui: {
class: 'custom',
widget: 'custom',
grid: { xxl: 9, xl: 12, lg: 24, md: 24, sm: 24, xs: 24 }
}
}
} }
}; };
@ViewChild('st') private readonly st!: STComponent; @ViewChild('st') private readonly st!: STComponent;
@ -94,49 +102,52 @@ export class DatatableComplianceCustomerComponent implements OnInit {
]; ];
constructor(private http: _HttpClient, private modal: ModalHelper,public service: DataService,private datePipe: DatePipe) { } constructor(private http: _HttpClient, private modal: ModalHelper, public service: DataService, private datePipe: DatePipe) {}
/** /**
* 查询参数 * 查询参数
*/ */
get reqParams() { get reqParams() {
if (this.mode === 'year') { if (this.mode === 'year') {
this.type = 1 this.type = 1;
} else if (this.mode === 'month') { } else if (this.mode === 'month') {
this.type = 2 this.type = 2;
} else if (this.mode === 'date') { } else if (this.mode === 'date') {
this.type = 3 this.type = 3;
} else { } else {
this.type = 4 this.type = 4;
}
const params: any = Object.assign({}, this.sf?.value || {});
params.type = this.type
params.queryTime = this.time
delete params._$expand;
return { ...params };
} }
ngOnInit(): void { } const params: any = Object.assign({}, this.sf?.value || {});
params.type = this.type;
params.queryTime = this.time;
delete params._$expand;
return { ...params };
}
ngOnInit(): void {}
onChange(result: any) { onChange(result: any) {
if (this.mode === 'year') { if (this.mode === 'year') {
this.time = [this.datePipe.transform(this.date, 'yyyy') + '-01-01 00:00:00'] this.time = [this.datePipe.transform(this.date, 'yyyy') + '-01-01 00:00:00'];
} else if (this.mode === 'month') { } else if (this.mode === 'month') {
this.time = [this.datePipe.transform(this.date, 'yyyy-MM') + '-01 00:00:00'] this.time = [this.datePipe.transform(this.date, 'yyyy-MM') + '-01 00:00:00'];
} else if (this.mode === 'date') { } else if (this.mode === 'date') {
this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00'] this.time = [this.datePipe.transform(this.date, 'yyyy-MM-dd') + ' 00:00:00'];
} else { } else {
this.time = [this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00', this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'] this.time = [
this.datePipe.transform(this.defineDate[0], 'yyyy-MM-dd') + '00:00:00',
this.datePipe.transform(this.defineDate[1], 'yyyy-MM-dd') + ' 00:00:00'
];
} }
this.st.reload({ ...this.reqParams }); this.st.reload({ ...this.reqParams });
} }
changeData() { changeData() {
if (this.mode === 'year') { if (this.mode === 'year') {
this.dateFormat = 'yyyy' this.dateFormat = 'yyyy';
} else if (this.mode === 'month') { } else if (this.mode === 'month') {
this.dateFormat = 'yyyy-MM' this.dateFormat = 'yyyy-MM';
} else { } else {
this.dateFormat = 'yyyy-MM-dd' this.dateFormat = 'yyyy-MM-dd';
} }
} }
disabledDate = (current: Date): boolean => disabledDate = (current: Date): boolean =>
// Can not select days before today and today // Can not select days before today and today
differenceInCalendarDays(current, this.today) > 0; differenceInCalendarDays(current, this.today) > 0;
} }

View File

@ -60,7 +60,7 @@ export class OrderManagementBulkComponent implements OnInit {
public shipperservice: ShipperBaseService, public shipperservice: ShipperBaseService,
private router: Router, private router: Router,
private ar: ActivatedRoute, private ar: ActivatedRoute,
) {} ) { }
/** /**
* 查询参数 * 查询参数
@ -108,7 +108,7 @@ export class OrderManagementBulkComponent implements OnInit {
this.loading = false this.loading = false
return data.map(item => ({ return data.map(item => ({
...item, ...item,
disabled: item.billStatus !== '4' disabled: item.billStatus !== '4'
})); }));
}; };
get selectedRows() { get selectedRows() {
@ -185,14 +185,14 @@ export class OrderManagementBulkComponent implements OnInit {
type: 'string', type: 'string',
title: '订单号', title: '订单号',
ui: { ui: {
placeholder: '最多100个单号空号隔开', placeholder: '最多100个单号空号隔开',
} }
}, },
wayBillCode: { wayBillCode: {
type: 'string', type: 'string',
title: '运单号', title: '运单号',
ui: { ui: {
placeholder: '最多100个单号空号隔开', placeholder: '最多100个单号空号隔开',
} }
}, },
resourceCode: { resourceCode: {
@ -212,7 +212,7 @@ export class OrderManagementBulkComponent implements OnInit {
_$expand: (value: boolean) => value _$expand: (value: boolean) => value
}, },
onSearch: (q: any) => { onSearch: (q: any) => {
let str =q.replace(/^\s+|\s+$/g,""); let str = q.replace(/^\s+|\s+$/g, "");
if (str) { if (str) {
return this.service return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: str }) .request(this.service.$api_enterpriceList, { enterpriseName: str })
@ -469,7 +469,7 @@ export class OrderManagementBulkComponent implements OnInit {
width: '180px', width: '180px',
className: 'text-left', className: 'text-left',
format: (item: any) => format: (item: any) =>
`${item?.goodsName}/ `${item?.goodsName}/
${item?.weight || '0'}吨/ ${item?.weight || '0'}吨/
${item?.volume || '0'}方/ ${item?.volume || '0'}方/
${item?.goodsNumber || '0'}` ${item?.goodsNumber || '0'}`
@ -559,7 +559,10 @@ export class OrderManagementBulkComponent implements OnInit {
{ {
text: '变更运费', text: '变更运费',
click: _record => this.updateFreight(_record), click: _record => this.updateFreight(_record),
iif: item => item.billStatus !== '1' && item.billStatus !== '6' && item.overallPaymentStatus != '2', iif: _record => {
const flag = _record.mybidDetailInfo.find((item: any) => item?.expenseCode === 'TRA' && item?.paymentStatus === '4');
return _record.billStatus !== '1' && _record.billStatus !== '6' && !flag;
},
acl: { ability: ['ORDER-BULK-FreightChangeBulkDetail'] }, acl: { ability: ['ORDER-BULK-FreightChangeBulkDetail'] },
}, },
{ {
@ -857,6 +860,6 @@ export class OrderManagementBulkComponent implements OnInit {
} }
// 导出 // 导出
exprot() { exprot() {
this.service.exportStart({ ...this.reqParams, pageSize: -1 },this.service.$api_get_asyncExportBulkList); this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_get_asyncExportBulkList);
} }
} }

View File

@ -90,7 +90,7 @@
</div> </div>
</ng-template> </ng-template>
<ng-template st-row="orderAmount" let-item let-index="index"> <ng-template st-row="orderAmount" let-item let-index="index">
<div class="text-right">{{item?.orderAmount | currency :' '}}</div> <div class="text-right">{{item?.orderAmount | currency }}</div>
</ng-template> </ng-template>
</st> </st>
</nz-card> </nz-card>

View File

@ -223,8 +223,8 @@ export class ETCInvoicedRequestedComponent implements OnInit {
{ title: '卸货地', index: 'dischargePlace', width: '220px' }, { title: '卸货地', index: 'dischargePlace', width: '220px' },
{ title: '司机信息', render: 'call1No', width: '140px' }, { title: '司机信息', render: 'call1No', width: '140px' },
{ title: '车辆信息', render: 'call1N2o', width: '200px' }, { title: '车辆信息', render: 'call1N2o', width: '200px' },
{ title: '车牌颜色', index: 'licenseCarNOColor', width: '140px' }, { title: '车牌颜色', index: 'licenseCarNOColorLabel', width: '140px' },
{ title: '车辆是否已备案', index: 'putOnRecord', width: '150px', type: 'enum', enum: { false: '', true: '' } }, { title: '车辆是否已备案', index: 'putOnRecord', width: '150px', type: 'enum', enum: { false: '', true: '' } },
{ title: '托运人', index: 'shipperAppUserName', width: '140px' }, { title: '托运人', index: 'shipperAppUserName', width: '140px' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '220px' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '220px' },
{ title: '接单时间', index: 'orderReceivingTime', type: 'date', width: '150px' }, { title: '接单时间', index: 'orderReceivingTime', type: 'date', width: '150px' },

View File

@ -45,6 +45,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
columns: STColumn[] = [ columns: STColumn[] = [
{ title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' }, { title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' },
{ title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' },
{ title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, { title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' },
@ -57,6 +58,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
]; ];
columns2: STColumn[] = [ columns2: STColumn[] = [
{ title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' }, { title: '异常编号', index: 'exceptionCode', width: '180px', className: 'text-left' },
{ title: '异常类型', index: 'exceptionTypeLabel', width: '180px', className: 'text-left' },
{ title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' }, { title: '关联运单号', index: 'wayBillCode', width: '180px', className: 'text-left' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '180px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '180px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' },
@ -71,22 +73,22 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
{ title: '回复时间', index: 'replyTime', width: '180px', className: 'text-left' } { title: '回复时间', index: 'replyTime', width: '180px', className: 'text-left' }
]; ];
resourceStatus: number | undefined; resourceStatus: number | undefined;
get reqParams() { get reqParams() {
return { return {
...this.sf?.value, ...this.sf?.value,
replyStatus: this.resourceStatus || 0 replyStatus: this.resourceStatus || 0
}; };
} }
get reqParams2() { get reqParams2() {
return { return {
...this.sf?.value, ...this.sf?.value,
replyStatus:this.resourceStatus || 1 replyStatus: this.resourceStatus || 1
}; };
} }
constructor(public service: WaybillManagementServe, private nzModalService: NzModalService, public shipperSrv: ShipperBaseService) {} constructor(public service: WaybillManagementServe, private nzModalService: NzModalService, public shipperSrv: ShipperBaseService) { }
ngOnInit(): void { ngOnInit(): void {
this.initSF(); this.initSF();
@ -217,7 +219,7 @@ export class WaybillManagementAbnormalAppearComponent implements OnInit {
} }
selectChange(e: number) { selectChange(e: number) {
console.log(e); console.log(e);
this.resourceStatus = e ; this.resourceStatus = e;
setTimeout(() => { setTimeout(() => {
this?.st?.load(1); this?.st?.load(1);
this?.st2?.load(1); this?.st2?.load(1);