This commit is contained in:
Taric Xin
2021-12-30 16:25:49 +08:00
parent 6d173e8aa5
commit b87b9d554a
5 changed files with 135 additions and 83 deletions

View File

@ -12,58 +12,57 @@
<se-container col="3" labelWidth=100> <se-container col="3" labelWidth=100>
<se-title class="mb-md" style="font-size:18px">基本信息(应收费用)</se-title> <se-title class="mb-md" style="font-size:18px">基本信息(应收费用)</se-title>
<se label="网络货运人" required> <se label="网络货运人" required>
天津怡亚通物流科技有限公司 {{costInfo?.ltdid}}
</se> </se>
<se label="费用类型" required col="2"> <se label="费用类型" required col="2">
应收 {{costInfo?.feetype}}
</se> </se>
<se label="费用备注"> <se label="费用备注">
天津怡亚通物流科技有限公司 {{costInfo?.arremarks}}
</se> </se>
<se label="应收对象" required> <se label="应收对象" required>
C21.001-茅台集团 {{costInfo?.artoname}}
</se> </se>
<se label="开票类型" required> <se label="开票类型" required>
专票/普票 {{costInfo?.arvattype}}
</se> </se>
<se label="应收金额" required> <se label="应收金额" required>
4200.00 {{costInfo?.armoeny}}
</se> </se>
<se label="开票金额" required> <se label="开票金额" required>
4200.00 {{costInfo?.arkpmoney}}
</se> </se>
<se label="收款金额" required> <se label="收款金额" required>
4200.00 {{costInfo?.arbrmmoney}}
</se> </se>
</se-container> </se-container>
<se-container col="3" labelWidth=100 class="mt-md"> <se-container col="3" labelWidth=100 class="mt-md">
<se-title class="mb-md" style="font-size:18px">基本信息(应付费用)</se-title> <se-title class="mb-md" style="font-size:18px">基本信息(应付费用)</se-title>
<se label="网络货运人" required> <se label="网络货运人" required>
天津怡亚通物流科技有限公司 {{costInfo?.ltdid}}
</se> </se>
<se label="费用类型" required> <se label="费用类型" required>
应收 {{costInfo?.feetype}}
</se> </se>
<se label="应付核销" required> <se label="应付核销" required>
</se> </se>
<se label="费用备注"> <se label="费用备注">
天津怡亚通物流科技有限公司 {{costInfo?.hrremarks}}
</se> </se>
<se label="应收对象" required> <se label="应收对象" required>
C21.001-茅台集团 {{costInfo?.hrtoname}}
</se> </se>
<se label="票类型" required> <se label="票类型" required>
专票/普票 {{costInfo?.hrvattype}}
</se> </se>
<se label="应金额" required> <se label="应金额" required>
4200.00 {{costInfo?.hrmoney}}
</se> </se>
<se label="收票金额" required> <se label="收票金额" required>
4200.00 {{costInfo?.hrvatmoney}}
</se> </se>
<se label="付款金额" required> <se label="付款金额" required>
4200.00 {{costInfo?.hrpaymoney}}
</se> </se>
</se-container> </se-container>
</div> </div>
@ -73,12 +72,20 @@
<nz-card class="content-box" nzBordered> <nz-card class="content-box" nzBordered>
<nz-tabset> <nz-tabset>
<nz-tab nzTitle="费用明细"> <nz-tab nzTitle="费用明细">
<st #st [data]="data" [columns]="columns.cost" [page]="{ show: false}" [loading]="service.http.loading" <st #st [data]="costInfo?.ficoFeeLList" [columns]="columns.cost" [page]="{ show: false}"
[scroll]="{ x:'1200px',y: '370px' }"></st> [loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }">
<ng-template st-row="no" let-item let-index="index" let-column="column">
{{ index+1 }}
</ng-template>
</st>
</nz-tab> </nz-tab>
<nz-tab nzTitle="开票信息"> <nz-tab nzTitle="开票信息">
<st #st [data]="data" [columns]="columns.requested" [page]="{ show: false}" [loading]="service.http.loading" <st #st [data]="costInfo?.ficoVatappDatailList" [columns]="columns.requested" [page]="{ show: false}"
[scroll]="{ x:'1200px',y: '370px' }"></st> [loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }">
<ng-template st-row="no" let-item let-index="index" let-column="column">
{{ index+1 }}
</ng-template>
</st>
</nz-tab> </nz-tab>
<nz-tab nzTitle="收款信息"> <nz-tab nzTitle="收款信息">
<st #st [data]="data" [columns]="columns.collection" [page]="{ show: false}" <st #st [data]="data" [columns]="columns.collection" [page]="{ show: false}"

View File

@ -1,4 +1,5 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { STComponent, STColumn } from '@delon/abc/st'; import { STComponent, STColumn } from '@delon/abc/st';
import { FreightAccountService } from '../../../services/freight-account.service'; import { FreightAccountService } from '../../../services/freight-account.service';
@ -13,10 +14,25 @@ export class CostManagementDetailComponent implements OnInit {
columns: { [key: string]: STColumn[] } = this.initST(); columns: { [key: string]: STColumn[] } = this.initST();
data = []; data = [];
constructor(public service: FreightAccountService) {}
costInfo: any = {};
constructor(public service: FreightAccountService, private route: ActivatedRoute) {
const id = route.snapshot.params.id;
this.loadDetail(id);
}
ngOnInit(): void {} ngOnInit(): void {}
loadDetail(id: any) {
this.service.request(this.service.$api_get_cost_detail, { id }).subscribe(res => {
console.log(res);
if (res) {
this.costInfo = res;
}
});
}
goBack() { goBack() {
history.go(-1); history.go(-1);
} }
@ -24,30 +40,30 @@ export class CostManagementDetailComponent implements OnInit {
private initST(): { [key: string]: STColumn[] } { private initST(): { [key: string]: STColumn[] } {
return { return {
cost: [ cost: [
{ title: '序号', index: 'no' }, { title: '序号', render: 'no', width: 70 },
{ title: '费用明细号', index: 'callNo' }, { title: '费用明细号', index: 'feeHId' },
{ title: '订单号', index: 'callNo' }, { title: '订单号', index: 'billHId' },
{ title: '订单日期', index: 'callNo' }, { title: '订单日期', index: 'callNo' },
{ title: '运单号', index: 'callNo' }, { title: '运单号', index: 'waybillHId' },
{ title: '运单日期', index: 'callNo' }, { title: '运单日期', index: 'waybillDate' },
{ title: '结算客户', index: 'callNo' }, { title: '结算客户', index: 'callNo' },
{ title: '订单费用类型', index: 'callNo' }, { title: '订单费用类型', index: 'billLType' },
{ title: '费用科目', index: 'callNo' }, { title: '费用科目', index: 'feeSubId' },
{ title: '税率', index: 'callNo' }, { title: '税率', index: 'hrvatrate' },
{ title: '费用金额', index: 'callNo' }, { title: '费用金额', index: 'hrvatmoney' },
{ title: '收/付款金额', index: 'callNo' }, { title: '收/付款金额', index: 'armoney' },
{ title: '开/收票金额', index: 'callNo' } { title: '开/收票金额', index: 'arkpmoney' }
], ],
requested: [ requested: [
{ title: '序号', index: 'no' }, { title: '序号', render: 'no', width: 70 },
{ title: '费用明细号', index: 'callNo' }, { title: '费用明细号', index: 'feeHId' },
{ title: '发票申请', index: 'callNo' }, { title: '发票申请', index: 'vatappcode' },
{ title: '发票类型', index: 'callNo' }, { title: '发票类型', index: 'vatapptype' },
{ title: '发票号', index: 'callNo' }, { title: '发票号', index: 'vatappcode' },
{ title: '发票日期', index: 'callNo' }, { title: '发票日期', index: 'vatappdate' },
{ title: '发票状态', index: 'callNo' }, { title: '发票状态', index: 'sts' },
{ title: '应收金额', index: 'callNo' }, { title: '应收金额', index: 'vatnotax' },
{ title: '开票金额', index: 'callNo' } { title: '开票金额', index: 'vatmoney' }
], ],
collection: [ collection: [
{ title: '序号', index: 'no' }, { title: '序号', index: 'no' },

View File

@ -31,7 +31,7 @@
<button nz-button nzType="primary" [nzLoading]="service.http.loading">导入费用</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading">导入费用</button>
</div> </div>
</div> </div>
<st #st [data]="service.$mock_url" [columns]="columns" <st #st [data]="service.$api_get_cost_page" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }" [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"

View File

@ -30,7 +30,17 @@ export class CostManagementComponent implements OnInit {
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
Object.assign(requestOptions.body, { ...this.sf.value }); Object.assign(requestOptions.body, {
...this.sf.value,
feedate: {
start: this.sf.value.feedate?.[0] || '',
end: this.sf.value.feedate?.[1] || ''
},
createTime: {
start: this.sf.value.createTime?.[0] || '',
end: this.sf.value.createTime?.[1] || ''
}
});
} }
return requestOptions; return requestOptions;
}; };
@ -94,48 +104,54 @@ export class CostManagementComponent implements OnInit {
hidden: true hidden: true
} }
}, },
receiveName: { feecode: {
type: 'string', type: 'string',
title: '费用单号', title: '费用单号',
ui: { placeholder: '请输入' } ui: { placeholder: '请输入' }
}, },
phone: { billHId: {
type: 'string', type: 'string',
title: '订单号', title: '订单号',
ui: { placeholder: '请输入' } ui: { placeholder: '请输入' }
}, },
page: { waybillHId: {
type: 'string', type: 'string',
title: '运单号', title: '运单号',
ui: { ui: {
placeholder: '请输入' placeholder: '请输入'
} }
}, },
createTi2me: { feedate: {
title: '费用日期', title: '费用日期',
type: 'string', type: 'string',
ui: { ui: {
widget: 'date', widget: 'sl-from-to-search',
mode: 'range',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd',
placeholder: '请选择',
nzShowTime: true,
visibleIf: { visibleIf: {
expand: (value: boolean) => value expand: (value: boolean) => value
} }
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
pa2ge2: { feetype: {
type: 'string', type: 'string',
title: '费用类型', title: '费用类型',
enum: [{ label: '全部', value: '全部' }], enum: [
{ label: '全部', value: '' },
{ label: '应收', value: 1 },
{ label: '应付', value: 2 }
],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
visibleIf: { visibleIf: {
expand: (value: boolean) => value expand: (value: boolean) => value
} }
}
}, },
pa22ge2: { default: ''
},
feeSubId: {
type: 'string', type: 'string',
title: '费用科目', title: '费用科目',
enum: [{ label: '全部', value: '全部' }], enum: [{ label: '全部', value: '全部' }],
@ -147,19 +163,20 @@ export class CostManagementComponent implements OnInit {
} }
} }
}, },
page2: { ltdId: {
type: 'string', type: 'string',
title: '网络货运人', title: '网络货运人',
enum: [{ label: '全部', value: '全部' }],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true,
asyncData: () => this.service.getNetworkFreightForwarder(),
visibleIf: { visibleIf: {
expand: (value: boolean) => value expand: (value: boolean) => value
} }
} }
}, },
page21: { hrto: {
type: 'string', type: 'string',
title: '应付对象', title: '应付对象',
enum: [{ label: '全部', value: '全部' }], enum: [{ label: '全部', value: '全部' }],
@ -171,7 +188,7 @@ export class CostManagementComponent implements OnInit {
} }
} }
}, },
pag2e21: { arto: {
type: 'string', type: 'string',
title: '应收对象', title: '应收对象',
enum: [{ label: '全部', value: '全部' }], enum: [{ label: '全部', value: '全部' }],
@ -187,27 +204,33 @@ export class CostManagementComponent implements OnInit {
title: '创建时间', title: '创建时间',
type: 'string', type: 'string',
ui: { ui: {
widget: 'date', widget: 'sl-from-to-search',
mode: 'range',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd',
placeholder: '请选择',
nzShowTime: true,
visibleIf: { visibleIf: {
expand: (value: boolean) => value expand: (value: boolean) => value
} }
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
pag2e221: { ishrhx: {
type: 'string', type: 'string',
title: '应付核销', title: '应付核销',
enum: [{ label: '全部', value: '全部' }], enum: [
{ label: '全部', value: '' },
{ label: '否', value: 0 },
{ label: '是', value: 1 }
],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
visibleIf: { visibleIf: {
expand: (value: boolean) => value expand: (value: boolean) => value
} }
}
}, },
pag2e121: { default: ''
},
cno: {
type: 'string', type: 'string',
title: '结算客户', title: '结算客户',
enum: [{ label: '全部', value: '全部' }], enum: [{ label: '全部', value: '全部' }],
@ -225,22 +248,22 @@ export class CostManagementComponent implements OnInit {
private initST(): STColumn[] { private initST(): STColumn[] {
return [ return [
{ title: '费用单号', index: 'description', width: 120 }, { title: '费用单号', index: 'feecode', width: 120 },
{ title: '网络货运人', index: 'description', width: 120 }, { title: '网络货运人', index: 'ltdId', width: 120 },
{ title: '订单号', index: 'description', width: 120 }, { title: '订单号', index: 'billHId', width: 120 },
{ title: '运单号', index: 'description', width: 120 }, { title: '运单号', index: 'waybillHId', width: 120 },
{ title: '费用日期', index: 'description', width: 150 }, { title: '费用日期', index: 'feedate', width: 150 },
{ title: '费用类型', index: 'description', width: 100 }, { title: '费用类型', index: 'feetype', width: 100 },
{ title: '应付核销', index: 'description', width: 100 }, { title: '应付核销', index: 'ishrhx', width: 100 },
{ title: '结算客户', index: 'description', width: 100 }, { title: '结算客户', index: 'cno', width: 100 },
{ title: '应收对象', index: 'description', width: 100 }, { title: '应收对象', index: 'artoname', width: 100 },
{ title: '应付对象', render: 'description1', width: 100 }, { title: '应付对象', render: 'hrtoname', width: 100 },
{ title: '应收金额', render: 'description1', width: 100 }, { title: '应收金额', render: 'armoeny', width: 100 },
{ title: '应付金额', render: 'description1', width: 100 }, { title: '应付金额', render: 'hrmoney', width: 100 },
{ title: '收/付款金额', render: 'description1', width: 120 }, { title: '收/付款金额', render: 'hrpaymoney', width: 120 },
{ title: '开/收票金额', render: 'description1', width: 120 }, { title: '开/收票金额', render: 'hrvatmoney', width: 120 },
{ title: '创建时间', index: 'updatedAt', type: 'date', width: 150 }, { title: '创建时间', index: 'auditTime', type: 'date', width: 150 },
{ title: '状态', render: 'description1', width: 90 }, { title: '状态', render: 'sts', width: 90 },
{ {
title: '操作', title: '操作',
fixed: 'right', fixed: 'right',
@ -249,7 +272,7 @@ export class CostManagementComponent implements OnInit {
buttons: [ buttons: [
{ {
text: '浏览', text: '浏览',
click: item => this.routeTo('/financial-management/cost-management/detail/1') click: item => this.routeTo('/financial-management/cost-management/detail/' + item.id)
}, },
{ {
text: '审核', text: '审核',

View File

@ -43,6 +43,12 @@ export class FreightAccountService extends ShipperBaseService {
// 运营端获取账户余额交易明细 // 运营端获取账户余额交易明细
$api_get_account_blance = '/api/fcc/accountBalanceDetail/getAccountBalanceByPage'; $api_get_account_blance = '/api/fcc/accountBalanceDetail/getAccountBalanceByPage';
// 查询费用单抬头
$api_get_cost_page = '/api/fcc/ficoFeeH/list/page';
// 根据费用头ID查询费用单及开票明细
$api_get_cost_detail = '/api/fcc/ficoFeeL/detail';
constructor(public injector: Injector) { constructor(public injector: Injector) {
super(injector); super(injector);
} }