Merge branch 'develop'

This commit is contained in:
wangshiming
2022-04-29 10:03:10 +08:00
37 changed files with 578 additions and 465 deletions

View File

@ -73,22 +73,29 @@ export class BasicTableComponent implements AfterViewInit, OnDestroy {
for (let index = 0; index < tabset.length; index++) {
tabsetHeight += tabset[index].clientHeight;
}
console.log('tabsetHeight', tabsetHeight);
if (tabset) {
scrollY -= tabsetHeight;
}
// 剔除高度容器
// 计算所有tabs高度
const headerBox = document.getElementsByClassName('header_box');
let headerBoxHeight = 0;
for (let index = 0; index < headerBox.length; index++) {
headerBoxHeight += headerBox[index].clientHeight;
}
console.log('headerBoxHeight', headerBoxHeight);
if (headerBox) {
scrollY -= headerBoxHeight;
}
// 剔除高度容器
const heightBox = document.getElementsByClassName('height_box');
let heightBoxHeight = 0;
for (let index = 0; index < heightBox.length; index++) {
heightBoxHeight += heightBox[index].clientHeight;
}
if (heightBox) {
scrollY -= heightBoxHeight;
}
if (typeof this.deviationHeight === 'number') {
scrollY -= this.deviationHeight;
}

View File

@ -137,3 +137,5 @@
}
}
}
.height_box{}

View File

@ -0,0 +1,17 @@
:host::ng-deep {
nz-card {
margin: -8px -8px 0 !important
}
.height_box {
margin-bottom: 18px !important;
}
}
.total-footer {
position : absolute;
bottom : 0px;
height : 32px;
margin : 4px 8px;
line-height: 32px;
}

View File

@ -1,3 +1,13 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:07
* @LastEditors : Shiming
* @LastEditTime : 2022-04-28 21:10:06
* @FilePath : \\tms-obc-web\\src\\app\\routes\\datatable\\datatable-routing.module.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DatatableCustomindexComponent } from './components/customtable/customindex/customindex.component';
@ -20,29 +30,33 @@ import { DatatableReportingFundInfoComponent } from './reporting/components/fund
import { DatatableDatascreenComponent } from './components/datascreen/datascreen.component';
const routes: Routes = [
{ path: 'dataindex', component: DatatableDataindexComponent },
{ path: 'customtable/customindex', component: DatatableCustomindexComponent },
{ path: 'customtable/owner', component: DatatableOwnerComponent },
{ path: 'customtable/driver', component: DatatableDriverComponent },
{ path: 'customtable/mancustomtable', component: DatatableMancustomtableComponent },
{ path: 'customtable/partnertable', component: DatatablePartnertableComponent },
{ path: 'operationtable', component: DatatableOperationtableComponent },
{ path: 'reporting/order', component: DatatableOrderReportingComponent },
{ path: 'compliancetabel/index', component: DatatableComplianceIndexComponent },
{ path: 'compliancetabel/salesman', component: DatatableComplianceSalesmanComponent },
{ path: 'compliancetabel/customer', component: DatatableComplianceCustomerComponent },
{ path: 'financetable', component: DatatableFinancetableComponent },
{ path: 'invoicetable', component: DatatableInvoicetableComponent },
{ path: 'reporting/fund', component: DatatableFundReportingComponent },
{ path: 'busitable/busiindex', component: DatatableBusiindexComponent },
{ path: 'busitable/mantable', component: DatatableMantableComponent },
{ path: 'reporting/fund', component: DatatableFundReportingComponent },
{ path: 'fund-info', component: DatatableReportingFundInfoComponent },
{ path: 'datascreen', component: DatatableDatascreenComponent }];
{ path: 'dataindex', component: DatatableDataindexComponent, data: { guard: { ability: ['dataindex-search'] } } },
{ path: 'customtable/customindex', component: DatatableCustomindexComponent, data: { guard: { ability: ['customindex-client'] } } },
{ path: 'customtable/owner', component: DatatableOwnerComponent, data: { guard: { ability: ['owner-search'] } } },
{ path: 'customtable/driver', component: DatatableDriverComponent, data: { guard: { ability: ['driver-search'] } } },
{
path: 'customtable/mancustomtable',
component: DatatableMancustomtableComponent,
data: { guard: { ability: ['mancustomtable-search'] } }
},
{ path: 'customtable/partnertable', component: DatatablePartnertableComponent,
data: { guard: { ability: ['partnertable-search'] } } },
{ path: 'operationtable', component: DatatableOperationtableComponent, data: { guard: { ability: ['operationtable-search'] } } },
{ path: 'reporting/order', component: DatatableOrderReportingComponent, data: { guard: { ability: ['ORDER-REPORTING-search'] } } },
{ path: 'compliancetabel/index', component: DatatableComplianceIndexComponent , data: { guard: { ability: ['index-lRateQualified'] } }},
{ path: 'compliancetabel/salesman', component: DatatableComplianceSalesmanComponent, data: { guard: { ability: ['salesman-ComplianceReportPage'] } } },
{ path: 'compliancetabel/customer', component: DatatableComplianceCustomerComponent, data: { guard: { ability: ['customer-search'] } } },
{ path: 'financetable', component: DatatableFinancetableComponent , data: { guard: { ability: ['financetable-search'] } }},
{ path: 'invoicetable', component: DatatableInvoicetableComponent , data: { guard: { ability: ['invoicetable-search'] } }},
{ path: 'reporting/fund', component: DatatableFundReportingComponent , data: { guard: { ability: ['FUND-REPORTING-search'] } }},
{ path: 'busitable/busiindex', component: DatatableBusiindexComponent , data: { guard: { ability: ['busiindex-search'] } }},
{ path: 'busitable/mantable', component: DatatableMantableComponent, data: { guard: { ability: ['customer-search'] } } },
{ path: 'fund-info', component: DatatableReportingFundInfoComponent , data: { guard: { ability: ['customer-search'] } }},
{ path: 'datascreen', component: DatatableDatascreenComponent, data: { guard: { ability: ['datascreen-search'] } } }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class DatatableRoutingModule { }
export class DatatableRoutingModule {}

View File

@ -1,3 +1,13 @@
<!--
* @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>
<nz-card>
@ -85,6 +95,6 @@
<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']">上传设置</button>
[acl-ability]="['ORDER-REPORTING-search-updata']">上传设置</button>
</div>
</ng-template>

View File

@ -46,7 +46,7 @@ export class FreightAccountDetailComponent implements OnInit {
}
});
}
// this.loadStatistics(requestOptions.body);
this.loadStatistics(requestOptions.body);
return requestOptions;
};
@ -75,6 +75,8 @@ export class FreightAccountDetailComponent implements OnInit {
loadStatistics(params: any) {
this.service.request(this.service.$api_get_shipper_account_balance_detail, params).subscribe(res => {
if (res) {
console.log(res);
this.static = res;
}
});

View File

@ -1,17 +1,10 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-01-14 14:39:04
* @LastEditors : Shiming
* @LastEditTime : 2022-01-20 16:20:54
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\payable-order\\payable-order.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>
<nz-card class="height_box">
<div class="header_box" style="margin-left: -16px; margin-top: -16px;">
<label class="page_title"> <label class="driver">|</label> 应付核销</label>
</div>
<nz-row [nzGutter]="16">
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
<nz-statistic [nzValue]="((info?.prmoneySum || 0) | currency)+'' " [nzTitle]="'应付金额'"
@ -31,7 +24,7 @@
</nz-row>
</nz-card>
<nz-card class="search-box" nzBordered>
<!-- <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<sf #sf [schema]="searchSchema"
@ -41,17 +34,22 @@
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
<!-- <button nz-button [disabled]="false"> 导出</button>
<button nz-button [disabled]="false"> 导出核销</button> -->
<button nz-button [disabled]="false"> 导出</button>
<button nz-button [disabled]="false"> 导出核销</button>
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
</div>
</div>
</nz-card>
<nz-card class="content-box" nzBordered>
</nz-card> -->
<nz-card class="table-box">
<div class="header_box">
<div></div>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
</div>
</div>
<st #st [data]="service.$api_get_fico_ph_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
</st>

View File

@ -3,24 +3,21 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { FreightAccountService } from '../../services/freight-account.service';
@Component({
selector: 'app-payable-order',
templateUrl: './payable-order.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'],
providers: [CurrencyPipe]
styleUrls: ['../../../commom/less/commom-table.less', '../../../commom/less/common-table-bar.less']
})
export class PayableOrderComponent implements OnInit {
export class PayableOrderComponent extends BasicTableComponent implements OnInit {
@ViewChild('st', { static: true })
st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
_$expand = false;
schema: SFSchema = this.initSF();
selectedRows: any[] = [];
info: any = {};
@ -28,10 +25,15 @@ export class PayableOrderComponent implements OnInit {
public service: FreightAccountService,
private nzModalService: NzModalService,
private router: Router,
private currencyPipe: CurrencyPipe
) {}
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
ngOnInit(): void {
ngOnInit(): void {}
search() {
this.st?.load(1);
}
loadInfo() {
@ -76,21 +78,6 @@ export class PayableOrderComponent implements OnInit {
}
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema {
return {
@ -133,9 +120,6 @@ export class PayableOrderComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
},
cno: {
@ -146,9 +130,6 @@ export class PayableOrderComponent implements OnInit {
placeholder: '请选择',
allowClear: true,
asyncData: () => this.service.getCloseAccount(),
visibleIf: {
expand: (value: boolean) => value
}
}
},
driver2IdName: {
@ -157,9 +138,6 @@ export class PayableOrderComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
},
sts: {
@ -172,9 +150,6 @@ export class PayableOrderComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
},
phxdate: {
@ -183,9 +158,6 @@ export class PayableOrderComponent implements OnInit {
ui: {
widget: 'sl-from-to-search',
format: 'yyyy-MM-dd',
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema
},
createTime: {
@ -194,9 +166,6 @@ export class PayableOrderComponent implements OnInit {
ui: {
widget: 'sl-from-to-search',
format: 'yyyy-MM-dd',
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema
},
billHCode: {
@ -204,9 +173,6 @@ export class PayableOrderComponent implements OnInit {
title: '订单号',
ui: {
placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
}
},
feeHCode: {
@ -214,9 +180,6 @@ export class PayableOrderComponent implements OnInit {
title: '费用号',
ui: {
placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
}
},
remarks: {
@ -225,9 +188,6 @@ export class PayableOrderComponent implements OnInit {
ui: {
autocomplete: 'off',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
}
}
@ -246,15 +206,17 @@ export class PayableOrderComponent implements OnInit {
title: '核销金额',
index: 'phxmoney',
width: 140,
type: 'widget',
className: 'text-right',
format: item => `${this.currencyPipe.transform(item.phxmoney || 0)}`
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.phxmoney }) }
},
{
title: '应付金额',
index: 'prmoney',
width: 140,
type: 'widget',
className: 'text-right',
format: item => `${this.currencyPipe.transform(item.prmoney || 0)}`
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.prmoney }) }
},
{ title: '银行类型', index: 'banktype', type: 'enum', enum: { '1': '平安', '2': '浦发' }, width: 120 },
{ title: '付款类型', index: 'brmtype', type: 'enum', enum: { '1': '费用款项' }, width: 120 },

View File

@ -1,7 +1,10 @@
<page-header-wrapper title="平台账户">
</page-header-wrapper>
<!-- <page-header-wrapper title="平台账户">
</page-header-wrapper> -->
<nz-card>
<nz-card class="height_box">
<div class="header_box" style="margin-left: -16px; margin-top: -16px;">
<label class="page_title"> <label class="driver">|</label> 平台账户</label>
</div>
<nz-row [nzGutter]="16">
<nz-col [nzXl]="4" [nzLg]="6" [nzSm]="12">
<nz-statistic [nzValue]="((info.availableBalance |currency:' ') || 0)+''" nzTitle="平台账户余额"
@ -36,10 +39,10 @@
</nz-row>
</nz-card>
<nz-card class="search-box">
<!-- <nz-card class="search-box">
<div nz-row nzGutter="8">
<div nz-col [nzXl]="18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}"
<sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}"
[compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzXl]="6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
@ -48,9 +51,16 @@
<button nz-button (click)="exportList()"> 导出</button>
</div>
</div>
</nz-card>
</nz-card> -->
<nz-card class="content-box">
<nz-card class="table-box">
<div class="header_box">
<div></div>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exportList()"> 导出</button>
</div>
</div>
<st #st [data]="service.$api_get_platform_account_page" [columns]="columns" [req]="{ process: beforeReq }"
[page]="{}" [scroll]="{ x: '1200px' }" [loading]="service.http.loading">
</st>

View File

@ -2,7 +2,9 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { FreightAccountService } from '../../services/freight-account.service';
import { CwcBankCardManagementBindComponent } from '../bank-card-management/bind/bind.component';
import { CwcAccountManagementWithdrawDepositComponent } from './withdraw-deposit/withdraw-deposit.component';
@ -10,14 +12,12 @@ import { CwcAccountManagementWithdrawDepositComponent } from './withdraw-deposit
@Component({
selector: 'app-platform-account',
templateUrl: './platform-account.component.html',
styleUrls: ['../../../commom/less/box.less']
styleUrls: ['../../../commom/less/commom-table.less', '../../../commom/less/common-table-bar.less']
})
export class PlatformAccountComponent implements OnInit {
export class PlatformAccountComponent extends BasicTableComponent implements OnInit {
@ViewChild('st', { static: true })
st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
searchSchema: SFSchema = this.initSF();
schema: SFSchema = this.initSF();
columns: STColumn[] = this.initST();
info: any = {};
@ -27,11 +27,16 @@ export class PlatformAccountComponent implements OnInit {
public service: FreightAccountService,
private router: Router,
private nzModalService: NzModalService,
public modal: NzModalService
) {}
public modal: NzModalService,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
ngOnInit(): void {
this.loadInfo();
ngOnInit(): void {}
search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => {
@ -39,6 +44,7 @@ export class PlatformAccountComponent implements OnInit {
Object.assign(requestOptions.body, { ...this.sf?.value });
}
this.loadStatistics(requestOptions.body);
this.loadInfo();
return requestOptions;
};

View File

@ -1,16 +1,29 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-01-14 14:39:04
* @LastEditors : Shiming
* @LastEditTime : 2022-01-20 16:20:10
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\receivable-order\\receivable-order.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>
<!-- <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }"
[compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
[class.expend-options]="_$expand">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
<button nz-button [disabled]="false"> 导出</button>
<button nz-button [disabled]="false"> 导出核销</button>
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
</div>
</div>
</nz-card> -->
<nz-card class="height_box">
<div class="header_box" style="margin-left: -16px; margin-top: -16px;">
<label class="page_title"> <label class="driver">|</label> 应收核销</label>
</div>
<nz-row [nzGutter]="16">
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
<nz-statistic [nzValue]="((info?.armoneySum || 0) | currency)+'' " [nzTitle]="'应收金额'"
@ -30,28 +43,15 @@
</nz-row>
</nz-card>
<nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
<sf #sf [schema]="searchSchema" [ui]="{ '*': { spanLabelFixed: 110, grid: { lg: 8, md: 12, sm: 12, xs: 24 } } }"
[compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
[class.expend-options]="_$expand">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
<!-- <button nz-button [disabled]="false"> 导出</button>
<button nz-button [disabled]="false"> 导出核销</button> -->
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
<nz-card class="table-box">
<div class="header_box">
<div></div>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
</div>
</div>
</nz-card>
<nz-card class="content-box" nzBordered>
<st #st [data]="service.$api_get_fico_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x: '1200px' }" (change)="stChange($event)">
[loading]="false" [scroll]="{ x: '1200px',y:scrollY }" (change)="stChange($event)">
</st>
</nz-card>

View File

@ -3,25 +3,22 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from 'src/app/routes/ticket-management/services/ticket.service';
import { FreightAccountService } from '../../services/freight-account.service';
@Component({
selector: 'app-receivable-order',
templateUrl: './receivable-order.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'],
providers: [CurrencyPipe]
styleUrls: ['../../../commom/less/commom-table.less','../../../commom/less/common-table-bar.less']
})
export class ReceivableOrderComponent implements OnInit {
export class ReceivableOrderComponent extends BasicTableComponent implements OnInit {
@ViewChild('st', { static: true })
st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
_$expand = false;
schema: SFSchema = this.initSF();
selectedRows: any[] = [];
@ -30,10 +27,15 @@ export class ReceivableOrderComponent implements OnInit {
public service: FreightAccountService,
private nzModalService: NzModalService,
private router: Router,
private currencyPipe: CurrencyPipe
) {}
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
ngOnInit(): void {
ngOnInit(): void {}
search() {
this.st?.load(1);
}
loadInfo() {
@ -78,21 +80,6 @@ export class ReceivableOrderComponent implements OnInit {
}
}
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema {
return {
@ -135,9 +122,6 @@ export class ReceivableOrderComponent implements OnInit {
widget: 'dict-select',
params: { dictKey: 'driverrecord:receive:type' },
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
},
arvattype: {
@ -147,9 +131,6 @@ export class ReceivableOrderComponent implements OnInit {
widget: 'dict-select',
params: { dictKey: 'pay:type' },
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
},
cno: {
@ -160,9 +141,6 @@ export class ReceivableOrderComponent implements OnInit {
placeholder: '请选择',
allowClear: true,
asyncData: () => this.service.getCloseAccount(),
visibleIf: {
expand: (value: boolean) => value
}
}
},
arto: {
@ -175,9 +153,6 @@ export class ReceivableOrderComponent implements OnInit {
searchLoadingText: '搜索中...',
allowClear: true,
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }),
visibleIf: {
expand: (value: boolean) => value
}
}
},
sts: {
@ -190,9 +165,7 @@ export class ReceivableOrderComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
},
banktype: {
@ -206,9 +179,7 @@ export class ReceivableOrderComponent implements OnInit {
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
},
default: ''
},
@ -218,9 +189,7 @@ export class ReceivableOrderComponent implements OnInit {
ui: {
widget: 'sl-from-to-search',
format: 'yyyy-MM-dd',
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema
},
createTime: {
@ -229,9 +198,6 @@ export class ReceivableOrderComponent implements OnInit {
ui: {
widget: 'sl-from-to-search',
format: 'yyyy-MM-dd',
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema
},
billHCode: {
@ -239,9 +205,6 @@ export class ReceivableOrderComponent implements OnInit {
title: '订单号',
ui: {
placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
}
},
// orderS3: {
@ -260,9 +223,6 @@ export class ReceivableOrderComponent implements OnInit {
ui: {
autocomplete: 'off',
placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
}
}
}
@ -282,15 +242,17 @@ export class ReceivableOrderComponent implements OnInit {
title: '核销金额',
index: 'ahxmoney',
width: 140,
type: 'widget',
className: 'text-right',
format: item => `${this.currencyPipe.transform(item.ahxmoney)}`
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.ahxmoney }) }
},
{
title: '应收金额',
index: 'armoney',
width: 140,
type: 'widget',
className: 'text-right',
format: item => `${this.currencyPipe.transform(item.armoney)}`
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.armoney }) }
},
{ title: '银行类型', index: 'banktype', type: 'enum', enum: { '1': '平安', '2': '浦发' }, width: 120 },
{ title: '收款类型', index: 'arvattype', type: 'enum', enum: { '1': '费用款项' }, width: 120 },

View File

@ -64,8 +64,12 @@ const routes: Routes = [
{ path: 'voucher-summary/detail/:id', component: SummaryDetailComponent },
{ path: 'voucher-summary/list/:id', component: VoucherListComponent },
{ path: 'voucher-summary/list/detail/:id', component: VoucherDetailComponent },
{ path: 'cost-management', component: CostManagementComponent },
{ path: 'cost-management/detail/:id', component: CostManagementDetailComponent },
{ path: 'cost-management', component: CostManagementComponent, data: { guard: { ability: ['FINANCIAL-COST-list'] } } },
{
path: 'cost-management/detail/:id',
component: CostManagementDetailComponent,
data: { guard: { ability: ['FINANCIAL-COST-DETAIL-view'] } }
},
{ path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent },
{ path: 'cost-management/expenses-payable/:id', component: ExpensesPayableComponent },
{ path: 'abnormal-gold', component: AbnormalGoldComponent },

View File

@ -128,7 +128,7 @@
</div>
</div>
</ng-container>
<p class="time-info">计划装货时间:{{ i?.goodsResource?.loadingTime }}</p>
<p class="time-info mb0">计划装货时间:{{ i?.goodsResource?.loadingTime }}</p>
</div>
</div>
<div class="handling-col" nz-col [nzSpan]="12">
@ -144,7 +144,7 @@
</div>
</div>
</ng-container>
<p class="time-info">计划卸货时间:{{ i?.goodsResource?.unloadingTime }}</p>
<p class="time-info mb0">计划卸货时间:{{ i?.goodsResource?.unloadingTime }}</p>
</div>
</div>
</div>

View File

@ -4,14 +4,14 @@
* @Author : Shiming
* @Date : 2021-12-29 14:51:07
* @LastEditors : Shiming
* @LastEditTime : 2022-03-08 13:21:35
* @LastEditTime : 2022-04-28 22:11:32
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-rate\\modify-rate.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<nz-alert nzType="info" [nzMessage]="'已选择'+ data?.ids?.length + '条订单'" nzShowIcon></nz-alert>
<sf style="margin-top: 15px" #sf mode="edit" [schema]="schema" [ui]="ui" button="none"></sf>
<st #st [data]="service.$api_searchAdditionalRateBatch" [columns]="columns"
<st #st [data]="dataList" [columns]="columns"
[req]="{ method: 'POST',params: reqParams}"
[res]="{ reName: { list: 'data' } }"
[page]="{show: false,showSize: false,front: false}"

View File

@ -1,10 +1,11 @@
import { STComponent } from '@delon/abc/st';
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2021-12-29 14:51:07
* @LastEditors : Shiming
* @LastEditTime : 2022-03-08 13:21:59
* @LastEditTime : 2022-04-28 22:12:14
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\modify-rate\\modify-rate.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -23,28 +24,30 @@ import { OrderManagementService } from '../../../services/order-management.servi
})
export class VehicleModifyRateComponent implements OnInit {
@ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('st', { static: false }) st!: STComponent;
schema: SFSchema = {};
ui: SFUISchema = {};
columns: STColumn[] = [
{ title: '订单号', index: 'billCode' },
{ title: '原附加费率', render: 'oldAdditionalRate' },
{ title: '原附加费', render: 'oldSurcharge' },
// { title: '新附加费', render: 'newSurcharge' },
{ title: '新附加费', render: 'newSurcharge' },
];
aggreechecked = false;
modiUrl: string= this.service.$api_searchAdditionalRateBatch
@Input()
data: any;
dataList: any;
constructor(private modal: NzModalRef, private msgSrv: NzMessageService, public service: OrderManagementService) {}
ngOnInit(): void {
console.log(this.data);
this.initSF();
this.initData();
console.log(this.data?.ids)
}
get reqParams() {
return {
// operateObject: this.i?.resourceCode,
// operateType: 4,
@ -52,6 +55,14 @@ export class VehicleModifyRateComponent implements OnInit {
additionalRate: this.sf?.value?.additionalRate || 0
};
}
initData() {
console.log(this.reqParams);
this.service.request(this.service.$api_searchAdditionalRateBatch, this.reqParams).subscribe((res: any) => {
console.log(res);
this.dataList = res
})
}
initSF() {
this.schema = {
properties: {
@ -63,7 +74,13 @@ export class VehicleModifyRateComponent implements OnInit {
ui: {
unit: '%',
widgetWidth: 200,
precision: 2
precision: 2,
change:(item: any) => {
console.log(item);
setTimeout(() => {
this.initData()
});
}
} as SFNumberWidgetSchema
}
},

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-01-06 09:24:00
* @LastEditors : Shiming
* @LastEditTime : 2022-04-07 09:43:47
* @LastEditTime : 2022-04-28 20:50:36
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\order-management-routing.module.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/

View File

@ -162,7 +162,7 @@
nzTheme="fill" class="mr-xs"></i>通过
</label>
<label *ngIf="detailData?.esignCheckStatus === 2" style="color: #1890ff"><i nz-icon nzType="close-circle"
nzTheme="fill" class="mr-xs"></i>未认证
nzTheme="fill" class="mr-xs"></i>未认证&nbsp;&nbsp;{{detailData?.esignCheckMsg}}
</label>
</p>
</sv-title>

View File

@ -71,8 +71,8 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
unloadAddress0: [null, [Validators.required]],
unloadName0: [null, [Validators.required]],
unloadPhone0: [null, [Validators.required, Validators.pattern('^[0-9]*$')]],
loadingTime: [null, []],
unloadingTime: [null, []]
loadingTime: [null, [Validators.required]],
unloadingTime: [null, [Validators.required]]
});
}

View File

@ -22,8 +22,8 @@
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
</div>
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.expend-options]="_$expand" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button [disabled]="false" nzType="primary">导出</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" >查询</button>
<button nz-button [disabled]="false" nzType="primary" acl [acl-ability]="['SYSTEM-CLOSE-ACCOUNT-export']">导出</button>
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
<button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }}
@ -38,7 +38,7 @@
<div class="d-flex justify-content-end mb-sm mt-sm">
<div>
<button nz-button nzType="primary" (click)="roleAction('',1)">新增结算客户</button>
<button nz-button nzType="primary" (click)="roleAction('',1)" acl [acl-ability]="['SYSTEM-CLOSE-ACCOUNT-add']">新增结算客户</button>
</div>
</div>
<st #st [data]="service.$api_settlementCustomer_page" [columns]="columns" [req]="{ params: reqParams }" [page]="{}"

View File

@ -40,11 +40,13 @@ export class CloseAccountComponent implements OnInit {
buttons: [
{
text: '编辑',
click: item => this.roleAction(item, 2)
click: item => this.roleAction(item, 2),
acl: { ability: ['SYSTEM-CLOSE-ACCOUNT-edit'] },
},
{
text: '删除',
click: item => this.deleteAction(item)
click: item => this.deleteAction(item),
acl: { ability: ['SYSTEM-CLOSE-ACCOUNT-delete'] },
},
]
}

View File

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-12-03 15:23:05
* @LastEditTime : 2022-02-23 17:17:53
* @LastEditTime : 2022-04-28 21:40:03
* @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\sys-setting-routing.module.ts
@ -34,7 +34,7 @@ const routes: Routes = [
{ path: 'role-management/freight/:type', component: RoleManagementComponent },
{ path: 'organization-management', component: OrganizationManagementComponent, data: { guard: { ability: ['SYSTEM-ROLE-list'] } } },
{ path: 'basic-setting', component: BasicSettingComponent, data: { guard: { ability: ['SYSTEM-BASIC_SETTING-list'] } } },
{ path: 'note-management', component: NoTeManagementComponent },
{ path: 'note-management', component: NoTeManagementComponent, data: { guard: { ability: ['NOTE-MANAGEMENT-search'] } } },
{ path: 'basic-config', component: BasicConfigComponent },
{ path: 'audit-reason-config', component: AuditReasonConfigComponent },
{
@ -52,7 +52,7 @@ const routes: Routes = [
{ path: 'crm-management', component: CrmManagementComponent, data: { guard: { ability: ['SYSTEM-CRM-list'] } } },
{ path: 'network-freight', component: NetworkFreightComponent, data: { guard: { ability: ['SYSTEM-NETWORK-FREIGHT-list'] } } },
{ path: 'network-freight/new/:id', component: NetworkFreightNewComponent },
{ path: 'close-account', component: CloseAccountComponent },
{ path: 'close-account', component: CloseAccountComponent, data: { guard: { ability: ['SYSTEM-CLOSE-ACCOUNT-list'] } } },
// { path: 'btn-management', component: BtnManagementComponent },
{ path: 'announcement-message', component: AnnouncementMessageComponent, data: { guard: { ability: ['SYSTEM-ANNOUNCEMENT-list'] } } },
{ path: 'insurance-set', component: InsuranceSetComponent },

View File

@ -7,7 +7,7 @@
<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" [nzLoading]="isLoading && st.loading" (click)="search()" >查询</button>
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="isLoading && st.loading" (click)="search()">查询</button>
<button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="export()" acl [acl-ability]="['TAX_INVOICE_REPORT-export']">导出</button>
<button nz-button nzType="link" (click)="expandToggle()">
@ -18,32 +18,37 @@
</div>
</nz-card>
<nz-card>
<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 [nzTabBarExtraContent]="extraTemplate" *ngIf="tabs.length > 0">
<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_getInvoiceReport_page" [columns]="columns"
<st
#st
[scroll]="{ x: '1200px' }"
[data]="service.$api_getInvoiceReport_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">
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 50, 100] }"
[loading]="service.http.loading"
>
<ng-template st-row="uploadSts" let-item let-index="index">
<!-- <a (click)="viewAuditResult(item)" *ngIf="item?.billStatus === '2'">{{item?.billStatusLabel}}</a> -->
<span *ngIf="item?.uploadSts == '1'">待上传</span>
<span *ngIf="item?.uploadSts == '3'">已上传</span>
<span *ngIf="item?.uploadSts == '2'">上传中</span>
<span *ngIf="item?.uploadSts == '4'" style="color: red;">上传异常</span>
<span *ngIf="item?.uploadSts == '4'" style="color: red">上传异常</span>
<!-- <span *ngIf="item?.uploadSts == '4'" style="color: red;" (click)="unnormal(item)">上传异常</span> -->
</ng-template>
<ng-template st-row="invoiceType" let-item let-index="index">
<span>增值税专用发票</span>
</ng-template>
<ng-template st-row="sts" let-item let-index="index">
<span *ngIf="item.sts==='1'">有效</span>
<span *ngIf="item.sts==='2'">作废</span>
<span *ngIf="item.sts === '1'">有效</span>
<span *ngIf="item.sts === '2'">作废</span>
</ng-template>
<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>
</st>
</nz-card>
@ -53,7 +58,17 @@
已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据
</div>
<button *ngIf="selectedIndex === '1' || selectedIndex === '4'" nz-button nzType="primary" (click)="upload()">上传</button>
<button *ngIf="selectedIndex === '3'" nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['TAX_INVOICE_REPORT-recall']">撤回</button>
<button
*ngIf="selectedIndex === '1' || selectedIndex === '4'"
nz-button
nzType="primary"
(click)="upload()"
acl
[acl-ability]="['TAX_INVOICE_REPORT-upload']"
>上传</button
>
<button *ngIf="selectedIndex === '3'" nz-button nzType="primary" (click)="recall()" acl [acl-ability]="['TAX_INVOICE_REPORT-recall']"
>撤回</button
>
</div>
</ng-template>

View File

@ -139,7 +139,7 @@
nzTheme="fill" class="mr-xs"></i>通过
</label>
<label *ngIf="detailData?.esignCheckStatus===2" style="color: #1890ff;"><i nz-icon nzType="close-circle"
nzTheme="fill" class="mr-xs"></i>未认证
nzTheme="fill" class="mr-xs"></i>未认证&nbsp;&nbsp;{{detailData?.esignCheckMsg}}
</label>
</p>
</sv-title>

View File

@ -85,6 +85,17 @@
<nz-option *ngFor="let i of contenCarLength" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
</nz-select>
</sv>
<sv label="车辆能源类型">
<nz-select
[(ngModel)]="detailData.carEnergyType"
[nzPlaceHolder]="isEdit ? '' : '-'"
[nzBorderless]="!isEdit"
[nzShowArrow]="isEdit"
[nzDisabled]="!isEdit"
>
<nz-option *ngFor="let i of contenCarEnergy" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
</nz-select>
</sv>
<sv label="是否为挂车">
<nz-select
[(ngModel)]="detailData.isTrailer"
@ -210,7 +221,7 @@
</sv-container>
<sv-container col="3">
<sv label="载重(吨)">
<sv label="核定载质量(吨)">
<input
nz-input
type="text"
@ -230,6 +241,16 @@
[placeholder]="isEdit ? '' : '-'"
/>
</sv>
<sv label="总质量">
<input
nz-input
type="text"
[(ngModel)]="detailData.carTotalLoad"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv>
<sv label="所有人">
<input
nz-input

View File

@ -31,6 +31,7 @@ export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy
contenCarNoColor: any;
contencarModel: any;
contenCarLength: any;
contenCarEnergy: any;
isEdit = false;
approvalOpinion = '';
uploadURl = apiConf.waterFileUpload;
@ -243,6 +244,7 @@ export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy
this.Serveice('car:color');
this.Serveice('car:model');
this.Serveice('car:length');
this.Serveice('car:energy:type');
}
Serveice(param: any) {
let value: any;
@ -257,6 +259,8 @@ export class VehicleComponentsAuditDetailComponent implements OnInit, OnDestroy
this.contencarModel = res;
} else if (param === 'car:length') {
this.contenCarLength = res;
} else if (param === 'car:energy:type') {
this.contenCarEnergy = res;
}
});
return value;

View File

@ -72,6 +72,17 @@
<nz-option *ngFor="let i of contenCarLength" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
</nz-select>
</sv>
<sv label="车辆能源类型">
<nz-select
[(ngModel)]="detailData.carEnergyType"
[nzPlaceHolder]="isEdit ? '' : '-'"
[nzBorderless]="!isEdit"
[nzShowArrow]="isEdit"
[nzDisabled]="!isEdit"
>
<nz-option *ngFor="let i of contenCarEnergy" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
</nz-select>
</sv>
<sv label="是否挂靠">
<nz-select
[(ngModel)]="detailData.isSelf"
@ -210,7 +221,7 @@
</sv-container>
<sv-container col="3">
<sv label="载重(吨)">
<sv label="核定载质量(吨)">
<input
nz-input
type="text"
@ -230,6 +241,16 @@
[placeholder]="isEdit ? '' : '-'"
/>
</sv>
<sv label="总质量">
<input
nz-input
type="text"
[(ngModel)]="detailData.carTotalLoad"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv>
<sv label="所有人">
<input
style="width: '300px'"
@ -241,6 +262,7 @@
[placeholder]="isEdit ? '' : '-'"
/>
</sv>
</sv-container>
<sv-container col="1">
<sv label="行驶证照片">

View File

@ -41,6 +41,7 @@ export class VehicleComponentsListDetailComponent implements OnInit {
contenCarNoColor: any;
contencarModel: any;
contenCarLength: any;
contenCarEnergy: any;
constructor(
private http: _HttpClient,
@ -158,6 +159,8 @@ export class VehicleComponentsListDetailComponent implements OnInit {
this.Serveice('car:color');
this.Serveice('car:model');
this.Serveice('car:length');
this.Serveice('car:energy:type');
}
Serveice(param: any) {
let value: any;
@ -172,6 +175,8 @@ export class VehicleComponentsListDetailComponent implements OnInit {
this.contencarModel = res;
} else if (param === 'car:length') {
this.contenCarLength = res;
} else if (param === 'car:energy:type') {
this.contenCarEnergy = res;
}
});
return value;

View File

@ -13,29 +13,7 @@
</button>
</ng-template>
<ng-template #headerContent>
<div nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button>
<h4 class="ml-md" style="font-size: 18px;">运单号: {{ i?.wayBillCode }}</h4>
</div>
<div nz-row style="display: flex; justify-content: end;" class="mb-xs">
<div nz-col>
<button nz-button *ngIf="i?.wayBillStatus == '2'" (click)="sureDepart(i)" acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkStartCarInfo']">确认发车</button>
<button nz-button nzType="primary" *ngIf="i?.wayBillStatus == '3'" (click)="sureArrive(i)" nzGhost acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkUnloadCarInfo']">确认到车</button>
</div>
</div>
<div>
<div sv-container>
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.shippername }} </sv>
<sv label="所属项目">{{i?.enterpriseProjectName}}</sv>
<sv label="服务类型">{{i?.serviceTypeLabel}}</sv>
<sv label="调度员">{{i?.dispatchName}} /{{i?.dispatchPhone}}</sv>
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
<sv label="货源编号">{{ i?.resourceCode }} </sv>
<sv label="承诺付款天数">{{ i?.paymentDays }}</sv>
</div>
<nz-tabset style="margin-top: 15px;">
<nz-tab nzTitle="装卸货信息" (nzClick)="goDistance(distannce1)">
</nz-tab>
@ -51,20 +29,21 @@
</div>
</ng-template>
</page-header-wrapper>
<nz-card #distannce1>
<div class="mb-sm common-order-header" nz-row>
<nz-card [nzBorderless]="true" class="mb0" #distannce1>
<div class=" common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button>
<b class="ml-md text-md">运单号: {{ i?.wayBillCode }}</b>
</div>
<div>
<button nz-button *ngIf="i?.wayBillStatus == '2'" (click)="sureDepart(i)" acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkStartCarInfo']">确认发车</button>
<button nz-button nzType="primary" *ngIf="i?.wayBillStatus == '3'" (click)="sureArrive(i)" nzGhost acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkUnloadCarInfo']">确认到车</button>
</div>
</div>
<div nz-col>
<button nz-button *ngIf="i?.wayBillStatus == '2'" (click)="sureDepart(i)" acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkStartCarInfo']">确认发车</button>
<button nz-button nzType="primary" *ngIf="i?.wayBillStatus == '3'" (click)="sureArrive(i)" nzGhost acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkUnloadCarInfo']">确认到车</button>
</div>
<div>
<nz-divider class="mt-sm mb-sm"></nz-divider>
<div class="mb-lg">
<div sv-container>
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.shippername }} </sv>
@ -85,7 +64,7 @@
</div>
</div>
</nz-card>
<nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>装货卸货信息</span>
@ -96,27 +75,27 @@
</span>
</div>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-col" nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.loadingPlace">
<div *ngIf="item.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
<p class="mb0">联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
</div>
</div>
</div>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-col" nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.dischargePlace">
<div *ngIf="item.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
<p class="mb0">联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
</div>
</div>
</div>
@ -194,14 +173,16 @@
结算依据为1时卸货时间不为空显示运费信息否则隐藏
结算依据为2时装货时间不为空显示运费信息否则隐藏
-->
<nz-card [nzTitle]="priceTitel" #distannce3
<nz-card #distannce3
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"
[nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>运费信息</span>
<span class="pl-sm text-warning">到货后{{i?.goodsResource?.paymentDays}}天内支付运费</span>
</div>
<ng-template #priceTitel>
<span>运费信息</span><span
style="padding-left: 24px; color: #f59a23;font-size: small;">到货后{{i?.goodsResource.paymentDays}}天内支付运费</span>
</ng-template>
<div style="margin-bottom: 18px">
<span style="color: #da001b; font-size: 18px"> {{ i?.freightPrice }}{{ i?.freightTypeLabel }} </span>{{
i?.settlementBasisLabel }}{{
@ -223,7 +204,11 @@
</div>
<div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}</div>
</nz-card>
<nz-card nzTitle="附件信息" [nzBorderless]="true" class="mb0" #distannce4>
<nz-card [nzBorderless]="true" class="mb0" #distannce4>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<sv-container>
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
@ -241,7 +226,11 @@
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="补充信息" [nzBorderless]="true" class="mb0">
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>补充信息</span>
</div>
<sv-container>
<sv label="是否回单">
{{i?.receiptType == 1 ?'是':'否'}}
@ -270,7 +259,7 @@
</sv-container>
</nz-card>
<nz-card class="mb0">
<nz-card class="mb0" [nzBorderless]="true">
<p class="detail_title" #distannce5><span>|</span> 轨迹信息</p>
<div nz-row>
<div nz-col [nzSpan]="24">

View File

@ -1,70 +1,36 @@
:host{
.btn-size{
font-size: 14px;
}
.bdr{
border-right: 1px solid #ccc;
}
.bdl{
border-left: 1px solid #ccc;
}
.source-info{
p{
margin-bottom: .5em;
}
}
.freight-info-box{
width: 95%;
}
.freigth-label{
display: inline-block;
width: 50px;
text-align: right;
}
:host {
.btn-size {
font-size: 14px;
}
::ng-deep{
.approval-status{
.ant-steps{
width: 70%;
margin: 0 auto;
}
}
.bdr {
border-right: 1px solid #ccc;
}
.bdl {
border-left: 1px solid #ccc;
}
.source-info {
p {
margin-bottom: .5em;
}
.leftPadding {
padding-right: 100px;
}
.handling-info {
min-height: 100px;
border: 1px solid #ccc;
}
.loading-row {
display: flex;
}
.freight-info-box {
width: 95%;
}
.handling-info-icon {
width: 32px;
height: 32px;
margin-right: 24px;
color: #fff;
line-height: 32px;
text-align: center;
border-radius: 50%;
.freigth-label {
display: inline-block;
width: 50px;
text-align: right;
}
&.loading-bg {
background-color: #50D4AB;
}
&.unloaing-bg {
background: #F66F6A;
}
}
.leftPadding {
padding-right: 100px;
}
.info {
flex: 1;
}
.time-info {
margin-left: 56px;
}
}
}

View File

@ -6,7 +6,7 @@
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle-detail\\vehicle-detail.component.html
-->
<page-header-wrapper [title]="'整车运单详情'" [logo]="logo" [content]="headerContent" [ngClass]="{'affix': scrollTop>210}">
<page-header-wrapper [title]="'整车运单详情'" [logo]="logo" [ngClass]="{'affix': scrollTop>210}">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
@ -50,19 +50,85 @@
</div>
</ng-template>
</page-header-wrapper>
<nz-card nzTitle="运单进度">
<nz-card [nzBorderless]="true" class="mb0">
<div nz-row class="mb-xs common-order-header">
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button>
<b class="ml-md" style="font-size: 18px;">运单号: {{ i?.wayBillCode }}</b>
</div>
<div nz-col>
<button nz-button (click)="sureDepart(i)" *ngIf="i?.wayBillStatus == '2'" acl
[acl-ability]="['WAYBILL-VEHICLE-DETAIL-wholeStartCarInfo']">确认发车</button>
<button nz-button nzType="primary" (click)="sureArrive(i)" *ngIf="i?.wayBillStatus == '3'" nzGhost acl
[acl-ability]="['WAYBILL-VEHICLE-DETAIL-wholeUnloadCarInfo']">确认到车</button>
</div>
</div>
<nz-divider class="mt-sm mb-sm"></nz-divider>
<div class="">
<div sv-container>
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.shippername }} </sv>
<sv label="所属项目">{{i?.enterpriseProjectName}}</sv>
<sv label="服务类型">{{i?.serviceTypeLabel}}</sv>
<sv label="调度员">{{i?.dispatchName}}{{ i?.dispatchPhone ? '/' + i?.dispatchPhone : '' }}</sv>
<sv label="货源编号">{{ i?.resourceCode }} </sv>
<sv label="承诺付款天数">{{ i?.paymentDays }}</sv>
</div>
</div>
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
<div class="step-row">
  <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
  <nz-step           *ngFor="let item of i?.scheduleVOList"     [nzTitle]="item.state"    
[nzSubtitle]="item.stateTime"     [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"  >
  <nz-step     *ngFor="let item of i?.scheduleVOList"     [nzTitle]="item.state" [nzSubtitle]="item.stateTime"  
  [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"  >
  </nz-step>
 </nz-steps>
</div>
</div>
</nz-card>
<nz-card nzTitle="基本信息" #distannce1>
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>装货卸货信息</span>
<span class="ml-sm text-sm">(
<label>{{i?.loadingNumber|| '一'}}装</label>
<label>{{i?.dischargeNumber || '一'}}卸</label>
)
</span>
</div>
<div nz-row [nzGutter]="24">
<div class="handling-col" nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.loadingPlace">
<div *ngIf="item.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
</div>
</div>
</div>
</div>
</div>
<div class="handling-col" nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.dischargePlace">
<div *ngIf="item.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0" #distannce1>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>基本信息</span>
</div>
<sv-container col="1">
<sv label="货物名称">
{{i?.goodsInfos?.[0]?.goodsName}}
@ -90,45 +156,13 @@
{{i?.unloadingTime}}
</sv>
</sv-container>
<div class="mt-md">
<h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{i?.loadingNumber|| '一'}}装</label>
<label>{{i?.dischargeNumber || '一'}}卸</label>
)
</span>
</h4>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.loadingPlace">
<div *ngIf="item.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
</div>
</div>
</div>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.dischargePlace">
<div *ngIf="item.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</nz-card>
<nz-card nzTitle="服务信息">
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>服务信息</span>
</div>
<sv-container>
<sv label="服务包">
{{i?.insuranceTypeLabel}}
@ -141,7 +175,12 @@
</sv>
</sv-container>
</nz-card>
<nz-card [nzTitle]="'运费信息' +'到货后'+i?.paymentDays+'天内支付运费'" #distannce3>
<nz-card [nzBorderless]="true" class="mb0" #distannce3>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>运费信息</span>
<span>(到货后{{i?.paymentDays}}天内支付运费)</span>
</div>
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<ng-template st-row="price" let-item let-index="index">
{{ item.price | currency }}
@ -162,7 +201,11 @@
}}/{{ i?.payee?.idNo }}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>
<nz-card [nzBorderless]="true" class="mb0" nzTitle="附件信息" #distannce4>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<sv-container>
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
@ -180,7 +223,11 @@
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="补充信息">
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>补充信息</span>
</div>
<sv-container>
<sv label="是否回单">
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
@ -196,18 +243,20 @@
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
</sv-container>
<sv-container col="1" class="mt-md">
<sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
<sv label="备注">
{{ i?.supplementaryInformationVO?.remarks }}
</sv>
<sv col="1" label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
</sv-container>
</nz-card>
<nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<p class="detail_title" #distannce5><span>|</span> 轨迹信息</p>
<div nz-row>
<div nz-col [nzSpan]="24">

View File

@ -22,58 +22,16 @@
}
.freigth-label {
display : inline-block;
width : 50px;
display: inline-block;
width: 50px;
text-align: right;
}
::ng-deep {
.approval-status {
.ant-steps {
width : 70%;
margin: 0 auto;
}
}
}
.leftPadding {
padding-right: 100px;
}
.handling-info {
min-height: 100px;
border : 1px solid #ccc;
.loading-row {
display: flex;
}
.handling-info-icon {
width : 32px;
height : 32px;
margin-right : 24px;
color : #fff;
line-height : 32px;
text-align : center;
border-radius: 50%;
&.loading-bg {
background-color: #50D4AB;
}
&.unloaing-bg {
background: #F66F6A;
}
}
.info {
flex: 1;
}
.time-info {
margin-left: 56px;
}
}
}
::ng-deep {

View File

@ -1,14 +1,17 @@
<nz-drawer [nzBodyStyle]="{ overflow: 'auto' }" [nzMaskClosable]="false" [nzWidth]="420" [nzVisible]="service.visible"
<nz-drawer [nzBodyStyle]="{ overflow: 'auto' }" [nzMaskClosable]="false" [nzWidth]="640" [nzVisible]="service.visible"
[nzMaskClosable]="true" nzTitle="筛选" [nzFooter]="footerTpl" (nzOnClose)="destroy()">
<div *nzDrawerContent>
<sf *ngIf="schema" #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'" [formData]="defaultValue">
<sf *ngIf="schema" #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'" [formData]="defaultValue"
layout="vertical">
</sf>
</div>
<ng-template #footerTpl>
<div style="float: right">
<button nz-button (click)="destroy()">关闭</button>
<button nz-button (click)="resetSF()">重置</button>
<button nz-button nzType="primary" (click)="search();;">查询</button>
<div style="display: flex;justify-content: space-between;">
<button nz-button (click)="destroy()">取消</button>
<div>
<button nz-button nzType="primary" (click)="search()"><i nz-icon nzType="search" nzTheme="outline"></i>查询</button>
<button nz-button (click)="resetSF()"><i nz-icon nzType="redo" nzTheme="outline"></i>重置</button>
</div>
</div>
</ng-template>
</nz-drawer>

View File

@ -10,7 +10,7 @@ import { SearchDrawerService } from './search-drawer.service';
})
export class SearchDrawerComponent implements OnInit, AfterViewInit {
@ViewChild('sf', { static: false }) sf!: SFComponent;
ui: SFUISchema = { '*': { spanLabelFixed: 95, grid: { span: 24, gutter: 4 } } };
ui: SFUISchema = { '*': { spanLabelFixed: 95, grid: { span: 12, gutter: 24 } } };
schema!: SFSchema;
loading = true;
@ -21,6 +21,7 @@ export class SearchDrawerComponent implements OnInit, AfterViewInit {
ngAfterViewInit(): void {}
ngOnInit(): void {
this.defaultValue = {};
this.service.createEvent.subscribe(({ defaultValue, newSchema, newUI }) => {
if (defaultValue) {
this.defaultValue = defaultValue;

View File

@ -62,6 +62,7 @@ import {
MinusCircleOutline,
FileTwoTone,
CloudDownloadOutline,
RedoOutline
} from '@ant-design/icons-angular/icons';
export const ICONS_AUTO = [
@ -123,4 +124,5 @@ export const ICONS_AUTO = [
MinusCircleOutline,
FileTwoTone,
CloudDownloadOutline,
RedoOutline
];

View File

@ -58,3 +58,44 @@
margin: 0 10px 10px 0;
}
}
.handling-col {
min-height: 90px;
.handling-info {
min-height: 100%;
border: 1px solid #ccc;
.loading-row {
display: flex;
}
.handling-info-icon {
width: 32px;
height: 32px;
margin-right: 24px;
color: #fff;
line-height: 32px;
text-align: center;
border-radius: 50%;
&.loading-bg {
background-color: #50D4AB;
}
&.unloaing-bg {
background: #F66F6A;
}
}
.info {
flex: 1;
}
.time-info {
margin-left: 56px;
margin-bottom: 0;
}
}
}

View File

@ -28,3 +28,27 @@
.ant-card-body {
padding: 16px;
}
.ant-drawer-content {
.ant-drawer-header {
padding: 16px;
.ant-drawer-title {
font-size : 20px;
font-weight: 500;
color : #1D2129;
}
}
.ant-drawer-body {
padding: 16px;
.ant-form-item-label>label {
color : #575D6C;
font-size: 14px;
}
}
}