车辆对接

This commit is contained in:
wangshiming
2021-12-27 14:09:32 +08:00
44 changed files with 529 additions and 84 deletions

View File

@ -31,7 +31,7 @@
</nz-tabset>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }"></st>

View File

@ -19,8 +19,6 @@ export class AbnormalGoldComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
@ -29,7 +27,7 @@ export class AbnormalGoldComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -1,4 +1,9 @@
<page-header-wrapper title="费用单">
<page-header-wrapper title="费用单" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
</page-header-wrapper>
<nz-card class="search-box">

View File

@ -17,6 +17,10 @@ export class CostManagementDetailComponent implements OnInit {
ngOnInit(): void {}
goBack() {
history.go(-1);
}
private initST(): { [key: string]: STColumn[] } {
return {
cost: [

View File

@ -24,13 +24,15 @@
<nz-card class="content-box">
<div nz-row class="mb-sm">
<div nz-col nzSpan="24">
<button nz-button nzType="primary" [nzLoading]="service.http.loading">添加应收费用</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading">添加应费用</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading"
(click)="routeTo('/financial-management/cost-management/expenses-receivable/1')">添加应费用</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading"
(click)="routeTo('/financial-management/cost-management/expenses-payable/1')">添加应付费用</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading">导入费用</button>
</div>
</div>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ y: '370px' }">

View File

@ -22,7 +22,6 @@ export class CostManagementComponent implements OnInit {
selectedRows: any[] = [];
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
@ -31,7 +30,7 @@ export class CostManagementComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};
@ -258,7 +257,7 @@ export class CostManagementComponent implements OnInit {
},
{
text: '修改',
click: item => this.router.navigate(['/financial-management/freight-account/detail/1'])
click: item => this.router.navigate(['/financial-management/cost-management/expenses-receivable/1'], { queryParams: { id: 1 } })
}
]
}

View File

@ -0,0 +1,56 @@
<page-header-wrapper title="应付费用单" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
</page-header-wrapper>
<nz-card [nzExtra]="cardTemplate" nzTitle="基本信息">
<ng-template #cardTemplate>
<button nz-button nzType="primary" [nzLoading]="service.http.loading">保存</button>
</ng-template>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24">
<sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}"
[button]="'none'"></sf>
</div>
</div>
<st #st [data]="data" [columns]="columns" [page]="{ show: false}" [loading]="service.http.loading" size="small"
[scroll]="{ y: '370px' }" class="mt-sm">
<ng-template st-row="description1" let-item let-index="index">
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
style="width: 100%;">
<nz-option nzValue="曲丽丽" nzLabel="曲丽丽"></nz-option>
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
</nz-select>
</ng-template>
<ng-template st-row="description2" let-item let-index="index">
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
style="width: 100%;">
<nz-option nzValue="曲丽丽" nzLabel="曲丽丽"></nz-option>
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
</nz-select>
</ng-template>
<ng-template st-row="description3" let-item let-index="index">
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
style="width: 100%;">
<nz-option nzValue="曲丽丽" nzLabel="曲丽丽"></nz-option>
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
</nz-select>
</ng-template>
<ng-template st-row="num" let-item let-index="index">
<nz-input-number [ngModel]="item.num" (ngModelChange)="st.setRow(index, { num: $event })" [nzMin]="0"
style="width: 100%;"></nz-input-number>
</ng-template>
<ng-template st-row="description5" let-item let-index="index">
<input nz-input [ngModel]="item.description5"
(ngModelChange)="st.setRow(index, { description5: $event })" />
</ng-template>
</st>
<button nz-button nzType="dashed" nzBlock class="mt-md" (click)="addRow()"><i nz-icon nzType="plus"
nzTheme="outline"></i>添加</button>
</nz-card>

View File

@ -0,0 +1,13 @@
:host::ng-deep {
.content-box {
.ant-card-body {
padding-top: 14px;
}
}
nz-range-picker {
width: 100%;
}
}

View File

@ -0,0 +1,149 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STComponent, STColumn } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { FreightAccountService } from '../../../services/freight-account.service';
@Component({
selector: 'app-expenses-payable',
templateUrl: './expenses-payable.component.html',
styleUrls: ['./expenses-payable.component.less']
})
export class ExpensesPayableComponent implements OnInit {
@ViewChild('st', { static: true })
st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
schema!: SFSchema;
columns: STColumn[] = this.initST();
id = null;
data: any[] = [
{
id: 1,
description1: '',
description2: '',
description3: '',
num: null,
description5: ''
}
];
constructor(public service: FreightAccountService, private route: ActivatedRoute) {
this.id = route.snapshot.queryParams.id;
if (this.id) {
this.schema = this.initSF({ page2: '天津怡亚通物流科技有限公司', pag2e21: '茅台集团' });
} else {
this.schema = this.initSF();
}
}
ngOnInit(): void {}
addRow() {
this.data.push({
id: this.data.length + 1,
description1: '',
description2: '',
description3: '',
num: null,
description5: ''
});
this.st.reload();
}
goBack() {
history.go(-1);
}
private initSF(data?: any): SFSchema {
return {
properties: {
page2: {
type: 'string',
title: '网络货运人',
enum: [],
ui: {
widget: data ? 'text' : 'select',
placeholder: '请选择'
},
default: data?.page2 || ''
},
pag2e21: {
title: '应付对象',
type: 'string',
enum: [],
ui: {
widget: data ? 'text' : 'select',
placeholder: '请选择'
},
default: data?.pag2e21 || ''
},
dee: {
title: '',
type: 'string',
ui: {
widget: 'text'
},
default: ' '
},
createTi2me: {
title: '费用日期',
type: 'string',
ui: {
widget: 'date',
mode: 'range',
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema,
default: data?.createTi2me || ''
},
pa2ge2: {
type: 'string',
title: '收票方式',
enum: [],
ui: {
widget: 'select',
placeholder: '请选择'
},
default: data?.pa2ge2 || ''
},
page: {
type: 'string',
title: '应付备注',
ui: {
placeholder: '请输入'
},
default: data?.page || ''
}
},
required: ['page2', 'pag2e21', 'createTi2me', 'pa2ge2']
};
}
private initST(): STColumn[] {
return [
{ title: '结算客户', render: 'description1', width: 150 },
{ title: '费用科目', render: 'description2', width: 120 },
{ title: '税率', render: 'description3', width: 120 },
{ title: '应付金额', render: 'num', width: 120 },
{ title: '备注', render: 'description5', width: 150 },
{
title: '操作',
fixed: 'right',
className: 'text-center',
width: 90,
buttons: [
{
text: '删除',
click: item => {
this.st.removeRow(item);
this.data = this.data.filter(i => i.id !== item.id);
console.log(this.st.data, this.st._data);
}
}
]
}
];
}
}

View File

@ -0,0 +1,56 @@
<page-header-wrapper title="应收费用单" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
</page-header-wrapper>
<nz-card [nzExtra]="cardTemplate" nzTitle="基本信息">
<ng-template #cardTemplate>
<button nz-button nzType="primary" [nzLoading]="service.http.loading">保存</button>
</ng-template>
<div nz-row nzGutter="8">
<div nz-col nzSpan="24">
<sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}"
[button]="'none'"></sf>
</div>
</div>
<st #st [data]="data" [columns]="columns" [page]="{ show: false}" [loading]="service.http.loading" size="small"
[scroll]="{ y: '370px' }" class="mt-sm">
<ng-template st-row="description1" let-item let-index="index">
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
style="width: 100%;">
<nz-option nzValue="曲丽丽" nzLabel="曲丽丽"></nz-option>
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
</nz-select>
</ng-template>
<ng-template st-row="description2" let-item let-index="index">
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
style="width: 100%;">
<nz-option nzValue="曲丽丽" nzLabel="曲丽丽"></nz-option>
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
</nz-select>
</ng-template>
<ng-template st-row="description3" let-item let-index="index">
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
style="width: 100%;">
<nz-option nzValue="曲丽丽" nzLabel="曲丽丽"></nz-option>
<nz-option nzValue="lucy" nzLabel="Lucy"></nz-option>
</nz-select>
</ng-template>
<ng-template st-row="num" let-item let-index="index">
<nz-input-number [ngModel]="item.num" (ngModelChange)="st.setRow(index, { num: $event })"
[nzMin]="0" style="width: 100%;"></nz-input-number>
</ng-template>
<ng-template st-row="description5" let-item let-index="index">
<input nz-input [ngModel]="item.description5"
(ngModelChange)="st.setRow(index, { description5: $event })" />
</ng-template>
</st>
<button nz-button nzType="dashed" nzBlock class="mt-md" (click)="addRow()"><i nz-icon nzType="plus"
nzTheme="outline"></i>添加</button>
</nz-card>

View File

@ -0,0 +1,13 @@
:host::ng-deep {
.content-box {
.ant-card-body {
padding-top: 14px;
}
}
nz-range-picker {
width: 100%;
}
}

View File

@ -0,0 +1,148 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form';
import { FreightAccountService } from '../../../services/freight-account.service';
@Component({
selector: 'app-expenses-receivable',
templateUrl: './expenses-receivable.component.html',
styleUrls: ['./expenses-receivable.component.less']
})
export class ExpensesReceivableComponent implements OnInit {
@ViewChild('st', { static: true })
st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
schema!: SFSchema;
columns: STColumn[] = this.initST();
id = null;
data: any[] = [
{
id: 1,
description1: '',
description2: '',
description3: '',
num: null,
description5: ''
}
];
constructor(public service: FreightAccountService, private route: ActivatedRoute) {
this.id = route.snapshot.queryParams.id;
if (this.id) {
this.schema = this.initSF({ page2: '天津怡亚通物流科技有限公司', pag2e21: '茅台集团' });
} else {
this.schema = this.initSF();
}
}
ngOnInit(): void {}
addRow() {
this.data.push({
id: this.data.length + 1,
description1: '',
description2: '',
description3: '',
num: null,
description5: ''
});
this.st.reload();
}
goBack() {
history.go(-1);
}
private initSF(data?: any): SFSchema {
return {
properties: {
page2: {
type: 'string',
title: '网络货运人',
enum: [],
ui: {
widget: data ? 'text' : 'select',
placeholder: '请选择'
},
default: data?.page2 || ''
},
pag2e21: {
title: '应收对象',
type: 'string',
enum: [],
ui: {
widget: data ? 'text' : 'select',
placeholder: '请选择'
},
default: data?.pag2e21 || ''
},
dee: {
title: '',
type: 'string',
ui: {
widget: 'text'
},
default: ' '
},
createTi2me: {
title: '费用日期',
type: 'string',
ui: {
widget: 'date',
mode: 'range',
format: 'yyyy-MM-dd'
} as SFDateWidgetSchema,
default: data?.createTi2me || ''
},
pa2ge2: {
type: 'string',
title: '开票方式',
enum: [],
ui: {
widget: 'select',
placeholder: '请选择'
},
default: data?.pa2ge2 || ''
},
page: {
type: 'string',
title: '应收备注',
ui: {
placeholder: '请输入'
},
default: data?.page || ''
}
},
required: ['page2', 'pag2e21', 'createTi2me', 'pa2ge2']
};
}
private initST(): STColumn[] {
return [
{ title: '结算客户', render: 'description1', width: 150 },
{ title: '费用科目', render: 'description2', width: 120 },
{ title: '税率', render: 'description3', width: 120 },
{ title: '应收金额', render: 'num', width: 120 },
{ title: '备注', render: 'description5', width: 150 },
{
title: '操作',
fixed: 'right',
className: 'text-center',
width: 90,
buttons: [
{
text: '删除',
click: item => {
this.st.removeRow(item);
this.data = this.data.filter(i => i.id !== item.id);
console.log(this.st.data, this.st._data);
}
}
]
}
];
}
}

View File

@ -51,7 +51,7 @@
<nz-card class="content-box" nzBordered>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '300px' }"></st>

View File

@ -19,7 +19,6 @@ export class DriverAccountDetailComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService) {}
@ -27,7 +26,7 @@ export class DriverAccountDetailComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -23,7 +23,7 @@
<nz-card class="content-box">
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ y: '370px' }">

View File

@ -17,7 +17,6 @@ export class DriverAccountComponent implements OnInit {
searchSchema: SFSchema = this.initSF();
columns: STColumn[] = this.initST();
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService, private router: Router) {}
@ -26,7 +25,7 @@ export class DriverAccountComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -50,7 +50,7 @@
<nz-card class="content-box" nzBordered>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '300px' }"></st>

View File

@ -18,7 +18,6 @@ export class FreightAccountDetailComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
@ -26,7 +25,7 @@ export class FreightAccountDetailComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -23,7 +23,7 @@
<nz-card class="content-box">
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ y: '370px' }">

View File

@ -21,7 +21,6 @@ export class FreightAccountComponent implements OnInit {
selectedRows: any[] = [];
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
@ -30,7 +29,7 @@ export class FreightAccountComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -31,7 +31,7 @@
</nz-tabset>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }"></st>

View File

@ -19,7 +19,6 @@ export class PaymentRecordComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
@ -29,7 +28,7 @@ export class PaymentRecordComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -37,7 +37,7 @@
<nz-card class="content-box" nzBordered>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '400px' }"></st>

View File

@ -16,7 +16,6 @@ export class RechargeRecordComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService) {}
@ -24,7 +23,7 @@ export class RechargeRecordComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -24,7 +24,7 @@
<nz-card class="content-box pt-xl" nzBordered>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '450px' }"></st>

View File

@ -18,8 +18,6 @@ export class TransactionFlowComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
@ -28,7 +26,7 @@ export class TransactionFlowComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -66,7 +66,7 @@
</ng-template>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)"></st>

View File

@ -20,8 +20,6 @@ export class WithdrawalsRecordComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
selectedRows: any[] = [];
@ -32,7 +30,7 @@ export class WithdrawalsRecordComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -12,6 +12,8 @@ import { AbnormalGoldComponent } from './components/abnormal-gold/abnormal-gold.
import { PaymentRecordComponent } from './components/payment-record/payment-record.component';
import { TransactionFlowComponent } from './components/transaction-flow/transaction-flow.component';
import { CostManagementDetailComponent } from './components/cost-management/cost-management-detail/cost-management-detail.component';
import { ExpensesReceivableComponent } from './components/cost-management/expenses-receivable/expenses-receivable.component';
import { ExpensesPayableComponent } from './components/cost-management/expenses-payable/expenses-payable.component';
const routes: Routes = [
{ path: 'freight-account', component: FreightAccountComponent },
@ -25,6 +27,8 @@ const routes: Routes = [
// { path: 'voucher-summary', component: VoucherSummaryComponent },
{ path: 'cost-management', component: CostManagementComponent },
{ path: 'cost-management/detail/:id', component: CostManagementDetailComponent },
{ path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent },
{ path: 'cost-management/expenses-payable/:id', component: ExpensesPayableComponent },
{ path: 'abnormal-gold', component: AbnormalGoldComponent },
{ path: 'payment-record', component: PaymentRecordComponent },
{ path: 'transaction-flow', component: TransactionFlowComponent },

View File

@ -16,6 +16,8 @@ import { PaymentRecordComponent } from './components/payment-record/payment-reco
import { TransactionFlowComponent } from './components/transaction-flow/transaction-flow.component';
import { ClearingModalComponent } from './components/abnormal-gold/clearing-modal/clearing-modal.component';
import { CostManagementDetailComponent } from './components/cost-management/cost-management-detail/cost-management-detail.component';
import { ExpensesReceivableComponent } from './components/cost-management/expenses-receivable/expenses-receivable.component';
import { ExpensesPayableComponent } from './components/cost-management/expenses-payable/expenses-payable.component';
const ROUTESCOMPONENTS = [
FreightAccountComponent,
@ -27,7 +29,9 @@ const ROUTESCOMPONENTS = [
PaymentRecordComponent,
TransactionFlowComponent,
CostManagementComponent,
CostManagementDetailComponent
CostManagementDetailComponent,
ExpensesReceivableComponent,
ExpensesPayableComponent
];
const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, SettingFinancialComponent, ClearingModalComponent];

View File

@ -18,11 +18,11 @@
<div class="d-flex justify-content-end mb-sm">
<div>
<button nz-button nzType="primary" (click)="roleAction()" >新建角色</button>
<button nz-button nzType="primary" (click)="roleAction()">新建角色</button>
</div>
</div>
<st #st [data]="url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
<st #st [data]="service.$api_get_role_page" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' },process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ y: '370px' }" (change)="stChange($event)"></st>

View File

@ -1,5 +1,5 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { STComponent, STColumn, STChange } from '@delon/abc/st';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal';
import { SystemService } from '../../services/system.service';
@ -20,7 +20,7 @@ export class RoleManagementComponent implements OnInit {
searchSchema: SFSchema = {
properties: {
receiveName: {
roleName: {
type: 'string',
title: '角色名称',
ui: { placeholder: '请输入' }
@ -29,13 +29,14 @@ export class RoleManagementComponent implements OnInit {
};
columns: STColumn[] = [
{ title: '角色名称', index: 'no' },
{ title: '角色描述', index: 'description' },
{ title: '创建人手机号', index: 'description' },
{ title: '角色名称', index: 'roleName' },
{ title: '角色描述', index: 'roleDescription' },
{ title: '创建人手机号', index: 'telephone' },
{
title: '创建时间',
index: 'updatedAt',
type: 'date'
index: 'createTime',
type: 'date',
sort: true
},
{
title: '操作',
@ -54,20 +55,25 @@ export class RoleManagementComponent implements OnInit {
selectedRows: any[] = [];
reqParams = { pageIndex: 1, pageSize: 10 };
constructor(public service: SystemService, private nzModalService: NzModalService) {}
ngOnInit(): void {}
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
Object.assign(requestOptions.body, { ...this.sf.value });
}
if (requestOptions.body?.createTime) {
Object.assign(requestOptions.body, { sort: 'createTime.' + requestOptions.body.createTime });
}
return requestOptions;
};
stChange(e: STChange): void {
switch (e.type) {
case 'checkbox':
case 'sort':
this.selectedRows = e.checkbox!;
break;
case 'filter':
this.st.load();
break;
}
}

View File

@ -1,7 +1,7 @@
/*
* @Author: your name
* @Date: 2021-12-20 17:18:43
* @LastEditTime: 2021-12-27 11:33:56
* @LastEditTime: 2021-12-27 14:09:14
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\sys-setting\services\system.service.ts
@ -13,8 +13,6 @@ import { BaseService } from 'src/app/shared/services';
providedIn: 'root'
})
export class SystemService extends BaseService {
// 分页查询企业项目员工列表
$api_get_enterprise_staff_page = '/api/mdc/cuc/userApp/getEnterpriseProjectStaffListPage';
// 添加员工
@ -26,6 +24,9 @@ export class SystemService extends BaseService {
// 冻结或恢复员工
$api_free_or_resume_staff = '/api/mdc/cuc/userApp/freezeOrResumeStaff';
// 分页获取应用角色列表
$api_get_role_page = '/api/mdc/cuc/roleInfo/getAppRoleInfoList';
// 查询字典选项列表
$api_get_dict_page = '/api/mdc/pbc/dictItems/list/page';
// 根据id批量删除字典选项
@ -35,7 +36,6 @@ export class SystemService extends BaseService {
// 更新字典选项
$api_update_dict = '/api/mdc/pbc/dictItems/update';
// 获取CRM客户信息表
$api_get_crmCustomer = '/api/mdc/crmCustomer/get';
// 查询CRM客户信息表

View File

@ -43,7 +43,7 @@
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)">

View File

@ -22,8 +22,6 @@ export class CancellationInvoiceComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
selectedRows: any[] = [];
@ -34,7 +32,7 @@ export class CancellationInvoiceComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -88,7 +88,7 @@
</div>
<st #orderST [data]="service.$mock_url" [columns]="orderColumns" size="small" bordered="true"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: orderReqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '250px' }"></st>
@ -109,14 +109,14 @@
</div>
<st #costST [data]="service.$mock_url" [columns]="costColumns" size="small" bordered="true"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: orderReqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '250px' }"></st>
</nz-tab>
<nz-tab nzTitle="发票明细">
<st #invoiceST [data]="service.$mock_url" [columns]="invoiceColumns" size="small" bordered="true"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: invoiceReqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '250px' }">

View File

@ -17,7 +17,6 @@ export class InvoiceDetailComponent implements OnInit {
orderSf!: SFComponent;
orderColumns: STColumn[] = this.initOrderST();
orderSchema: SFSchema = this.initOrderSF();
ordeReqParams = {};
@ViewChild('costST', { static: true })
costST!: STComponent;
@ -25,12 +24,10 @@ export class InvoiceDetailComponent implements OnInit {
costSf!: SFComponent;
costColumns: STColumn[] = this.initCostST();
costSchema: SFSchema = this.initCostSF();
orderReqParams = {};
@ViewChild('invoiceST', { static: true })
invoiceST!: STComponent;
invoiceColumns: STColumn[] = this.initInvoiceST();
invoiceReqParams = {};
isCanEdit = false;
isEdit = false;
@ -43,10 +40,10 @@ export class InvoiceDetailComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.orderSf) {
this.orderReqParams = { ...this.orderSf.value };
Object.assign(requestOptions.body, { ...this.orderSf.value });
}
if (this.costSf) {
this.orderReqParams = { ...this.costSf.value };
Object.assign(requestOptions.body, { ...this.costSf.value });
}
return requestOptions;
};
@ -78,7 +75,6 @@ export class InvoiceDetailComponent implements OnInit {
}
}
private initOrderSF(): SFSchema {
return {
properties: {

View File

@ -100,7 +100,7 @@
</div>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '200px' }" (change)="stChange($event)"></st>

View File

@ -20,7 +20,6 @@ export class InvoiceRequestedDetailComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
detail: any = {};
selectedRows: any[] = [];
@ -32,7 +31,7 @@ export class InvoiceRequestedDetailComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -44,7 +44,7 @@
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)"></st>

View File

@ -22,8 +22,6 @@ export class InvoiceRequestedComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
selectedRows: any[] = [];
@ -34,7 +32,7 @@ export class InvoiceRequestedComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -35,7 +35,7 @@
</div>
<st #st [data]="service.$mock_url" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams, process: beforeReq }"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)">

View File

@ -11,7 +11,6 @@ import { TicketService } from '../../services/ticket.service';
styleUrls: ['./invoiced-list.component.less']
})
export class InvoicedListComponent implements OnInit {
url = `/rule?_allow_anonymous=true`;
@ViewChild('st', { static: true })
st!: STComponent;
@ViewChild('sf', { static: false })
@ -23,8 +22,6 @@ export class InvoicedListComponent implements OnInit {
columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF();
reqParams = {};
_$expand = false;
selectedRows: any[] = [];
@ -35,7 +32,7 @@ export class InvoicedListComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) {
this.reqParams = { ...this.sf.value };
Object.assign(requestOptions.body, { ...this.sf.value });
}
return requestOptions;
};

View File

@ -260,6 +260,16 @@
"hide": true,
"link": "/financial-management/cost-management/detail/:id"
},
{
"text": "应收费用单",
"hide": true,
"link": "/financial-management/cost-management/expenses-receivable/:id"
},
{
"text": "应付费用单",
"hide": true,
"link": "/financial-management/cost-management/expenses-payable/:id"
},
{
"text": "货主账户",
"link": "/financial-management/freight-account"