-
+
diff --git a/src/app/routes/download/components/list/list.component.ts b/src/app/routes/download/components/list/list.component.ts
index 91643098..00b3626b 100644
--- a/src/app/routes/download/components/list/list.component.ts
+++ b/src/app/routes/download/components/list/list.component.ts
@@ -99,8 +99,7 @@ export class DownloadComponentsListComponent implements OnInit {
width: '170px',
className: 'text-center',
buttons: [
- { text: '下载', click: (_record) => this.download(_record), iif: (item) => item.status === 1 },
- { text: '删除', click: (_record) => this.delOne(_record), iif: (item) => item.status !== 0 },
+ { text: '下载', click: (_record) => this.download(_record)},
],
},
];
diff --git a/src/app/routes/financial-management/components/driver-account/driver-account.component.ts b/src/app/routes/financial-management/components/driver-account/driver-account.component.ts
index 649e61cc..88d44c85 100644
--- a/src/app/routes/financial-management/components/driver-account/driver-account.component.ts
+++ b/src/app/routes/financial-management/components/driver-account/driver-account.component.ts
@@ -45,8 +45,12 @@ export class DriverAccountComponent implements OnInit {
this.modal.create({
nzTitle: '账户明细',
nzContent: AccountDetailComponent,
+ nzNoAnimation: true,
nzWidth: 600,
- nzComponentParams: {},
+ nzComponentParams: {
+ params: { accountType: 2, roleId: item.roleId },
+ url: '/api/fcc/accountBalance/getDriverAccountBalanceDetailByOperator'
+ },
nzFooter: null
});
}
diff --git a/src/app/routes/financial-management/components/freight-account/freight-account.component.ts b/src/app/routes/financial-management/components/freight-account/freight-account.component.ts
index b80f4f32..abd75998 100644
--- a/src/app/routes/financial-management/components/freight-account/freight-account.component.ts
+++ b/src/app/routes/financial-management/components/freight-account/freight-account.component.ts
@@ -52,7 +52,10 @@ export class FreightAccountComponent implements OnInit {
nzContent: AccountDetailComponent,
nzNoAnimation: true,
nzWidth: 600,
- nzComponentParams: {},
+ nzComponentParams: {
+ params: { accountType: 1, roleId: item.roleId },
+ url: '/api/fcc/accountBalance/getShipperAccountBalanceDetailByOperator'
+ },
nzFooter: null
});
}
diff --git a/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.html b/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.html
new file mode 100644
index 00000000..00933513
--- /dev/null
+++ b/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+ {{headerInfo?.ltdId}}
+
+
+ {{headerInfo?.cno}}
+
+
+ {{headerInfo?.shipperaccount}}
+
+
+ {{headerInfo?.ahxmoney | currency}}
+
+
+
+
+ {{headerInfo?.phxdate}}
+
+
+ {{headerInfo?.arto}}
+
+
+ {{headerInfo?.ltdaccount}}
+
+
+ {{headerInfo?.prmoney | currency}}
+
+
+
+
+ {{headerInfo?.banktype==='1'?'平安':'浦发'}}
+
+
+ {{headerInfo?.arvattype==='1'?'费用款项':''}}
+
+
+ {{headerInfo?.bankreceipt}}
+
+
+ {{headerInfo?.remarks}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{index+1}}
+
+
+
\ No newline at end of file
diff --git a/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.less b/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.less
new file mode 100644
index 00000000..aebf12ee
--- /dev/null
+++ b/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.less
@@ -0,0 +1,13 @@
+:host::ng-deep {
+
+ .statistics-box {
+ .ant-form-item {
+ margin-bottom: 0;
+
+ .ant-form-item-control-input-content {
+ color: #f5222d;
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.ts b/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.ts
new file mode 100644
index 00000000..48b7f2dc
--- /dev/null
+++ b/src/app/routes/financial-management/components/payable-order/payable-order-detail/payable-order-detail.component.ts
@@ -0,0 +1,176 @@
+import { CurrencyPipe } from '@angular/common';
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
+import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
+import { FreightAccountService } from '../../../services/freight-account.service';
+
+@Component({
+ selector: 'app-payable-order-detail',
+ templateUrl: './payable-order-detail.component.html',
+ styleUrls: ['./payable-order-detail.component.less', '../../../../commom/less/expend-but.less', '../../../../commom/less/box.less'],
+ providers: [CurrencyPipe]
+})
+export class PayableOrderDetailComponent implements OnInit {
+ @ViewChild('st', { static: true })
+ st!: STComponent;
+ @ViewChild('sf', { static: false })
+ sf!: SFComponent;
+ columns: STColumn[] = this.initST();
+ searchSchema: SFSchema = this.initSF();
+
+ _$expand = false;
+
+ id = null;
+ billHId = null;
+ headerInfo: any = {};
+ constructor(public service: FreightAccountService, private route: ActivatedRoute, private currencyPipe: CurrencyPipe) {
+ this.id = route.snapshot.params.id;
+ this.billHId = route.snapshot.queryParams.billHId;
+ this.loadHeadInfo();
+ }
+
+ ngOnInit(): void {}
+
+ loadHeadInfo() {
+ this.service.request(this.service.$api_get_fico_ph_header, { id: this.id }).subscribe(res => {
+ console.log(res);
+ if (res) {
+ this.headerInfo = res;
+ }
+ });
+ }
+
+ beforeReq = (requestOptions: STRequestOptions) => {
+ Object.assign(requestOptions.body, { billHId: this.billHId });
+ if (this.sf) {
+ Object.assign(requestOptions.body, {
+ ...this.sf.value,
+ billTime: {
+ start: this.sf.value.billTime?.[0] || null,
+ end: this.sf.value.billTime?.[1] || null
+ },
+ feedate: {
+ start: this.sf.value.feedate?.[0] || null,
+ end: this.sf.value.feedate?.[1] || null
+ }
+ });
+ if (this.sf.value.billTime) {
+ Object.assign(requestOptions.body, {
+ billTime: {
+ start: this.sf.value.billTime?.[0] || null,
+ end: this.sf.value.billTime?.[1] || null
+ }
+ });
+ }
+ if (this.sf.value.feedate) {
+ Object.assign(requestOptions.body, {
+ feedate: {
+ start: this.sf.value.feedate?.[0] || null,
+ end: this.sf.value.feedate?.[1] || null
+ }
+ });
+ }
+ }
+ return requestOptions;
+ };
+
+ goBack() {
+ history.go(-1);
+ }
+
+ /**
+ * 重置表单
+ */
+ resetSF() {
+ this.sf.reset();
+ }
+
+ /**
+ * 伸缩查询条件
+ */
+ expandToggle() {
+ this._$expand = !this._$expand;
+ this.sf?.setValue('/expand', this._$expand);
+ }
+
+ private initSF(): SFSchema {
+ return {
+ properties: {
+ expand: {
+ type: 'boolean',
+ ui: {
+ hidden: true
+ }
+ },
+ feeHCode: {
+ type: 'string',
+ title: '费用单',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ billHCode: {
+ type: 'string',
+ title: '订单号',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ cno: {
+ type: 'string',
+ title: '结算客户',
+ enum: [{ label: '全部', value: '' }],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择'
+ },
+ default: ''
+ },
+ feedate: {
+ title: '费用日期',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ billTime: {
+ title: '订单日期',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ }
+ }
+ };
+ }
+
+ private initST(): STColumn[] {
+ return [
+ { title: '序号', render: 'no', width: 80 },
+ { title: '费用号', index: 'feeHCode', width: 100 },
+ { title: '费用日期', index: 'feedate', type: 'date', width: 150 },
+ { title: '订单号', index: 'billHCode', width: 100 },
+ { title: '订单日期', index: 'billTime', width: 150 },
+ { title: '费用类型', index: 'cnoName', width: 90 },
+ { title: '订单费用科目', index: 'feeSubId', width: 100 },
+ { title: '费用科目', index: 'feeSubId', width: 140 },
+ { title: '结算客户', index: 'cno', width: 100 },
+ {
+ title: '已收金额',
+ index: 'phxmoney',
+ width: 100,
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.armoney || 0)}`
+ }
+ ];
+ }
+}
diff --git a/src/app/routes/financial-management/components/payable-order/payable-order.component.html b/src/app/routes/financial-management/components/payable-order/payable-order.component.html
new file mode 100644
index 00000000..79e83713
--- /dev/null
+++ b/src/app/routes/financial-management/components/payable-order/payable-order.component.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/routes/financial-management/components/payable-order/payable-order.component.ts b/src/app/routes/financial-management/components/payable-order/payable-order.component.ts
new file mode 100644
index 00000000..5520e3e6
--- /dev/null
+++ b/src/app/routes/financial-management/components/payable-order/payable-order.component.ts
@@ -0,0 +1,272 @@
+import { CurrencyPipe } from '@angular/common';
+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 { NzModalService } from 'ng-zorro-antd/modal';
+import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component';
+import { TicketService } from 'src/app/routes/ticket-management/services/ticket.service';
+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]
+})
+export class PayableOrderComponent implements OnInit {
+ @ViewChild('st', { static: true })
+ st!: STComponent;
+ @ViewChild('sf', { static: false })
+ sf!: SFComponent;
+ columns: STColumn[] = this.initST();
+ searchSchema: SFSchema = this.initSF();
+
+ _$expand = false;
+
+ selectedRows: any[] = [];
+ constructor(
+ public service: FreightAccountService,
+ private nzModalService: NzModalService,
+ private router: Router,
+ private currencyPipe: CurrencyPipe
+ ) {}
+
+ ngOnInit(): void {}
+
+ beforeReq = (requestOptions: STRequestOptions) => {
+ if (this.sf) {
+ Object.assign(requestOptions.body, {
+ ...this.sf.value
+ });
+ if (this.sf.value?.createTime) {
+ Object.assign(requestOptions.body, {
+ createTime: {
+ start: this.sf.value.createTime?.[0] || null,
+ end: this.sf.value.createTime?.[1] || null
+ }
+ });
+ }
+ if (this.sf.value?.ahxdate) {
+ Object.assign(requestOptions.body, {
+ ahxdate: {
+ start: this.sf.value.ahxdate?.[0] || null,
+ end: this.sf.value.ahxdate?.[1] || null
+ }
+ });
+ }
+ }
+ return requestOptions;
+ };
+
+ stChange(e: STChange): void {
+ switch (e.type) {
+ case 'checkbox':
+ this.selectedRows = e.checkbox!;
+ break;
+ }
+ }
+
+ /**
+ * 重置表单
+ */
+ resetSF() {
+ this.sf.reset();
+ this._$expand = false;
+ }
+
+ /**
+ * 伸缩查询条件
+ */
+ expandToggle() {
+ this._$expand = !this._$expand;
+ this.sf?.setValue('/expand', this._$expand);
+ }
+
+ private initSF(): SFSchema {
+ return {
+ properties: {
+ expand: {
+ type: 'boolean',
+ ui: {
+ hidden: true
+ }
+ },
+ ahxcode: {
+ type: 'string',
+ title: '核销单号',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ ltdid: {
+ type: 'string',
+ title: '网络货运人',
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ allowClear: true,
+ asyncData: () => this.service.getNetworkFreightForwarder()
+ },
+ default: ''
+ },
+ bankreceipt: {
+ type: 'string',
+ title: '银行水单',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ brmtype: {
+ type: 'string',
+ title: '收款类型',
+ enum: [{ value: '1', label: '费用款项' }],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ cno: {
+ type: 'string',
+ title: '结算客户',
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ arto: {
+ type: 'string',
+ title: '收款人',
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ sts: {
+ type: 'string',
+ title: '核销状态',
+ enum: [
+ { value: 1, label: '已核销' },
+ { value: 0, label: '待核销' }
+ ],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ ahxdate: {
+ title: '核销日期',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ createTime: {
+ title: '创建时间',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ billHCode: {
+ type: 'string',
+ title: '订单号',
+ ui: {
+ placeholder: '请输入',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ orderS3: {
+ type: 'string',
+ title: '费用号',
+ ui: {
+ placeholder: '请输入',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ remarks: {
+ type: 'string',
+ title: '核销备注',
+ ui: {
+ autocomplete: 'off',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ }
+ }
+ };
+ }
+
+ private initST(): STColumn[] {
+ return [
+ { title: '', index: 'key', type: 'checkbox' },
+ { title: '核销单号', index: 'phxcode', type: 'link', width: 140 },
+ { title: '网络货运人', index: 'ltdId', width: 140 },
+ { title: '核销日期', index: 'phxdate', type: 'date', width: 160 },
+ { title: '付款账户', index: 'shipperaccount', width: 120 },
+ { title: '收款账户', index: 'ltdaccount', width: 120 },
+ {
+ title: '核销金额',
+ index: 'phxmoney',
+ width: 120,
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.phxmoney || 0)}`
+ },
+ {
+ title: '应付金额',
+ index: 'prmoney',
+ width: 120,
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.prmoney || 0)}`
+ },
+ { title: '银行类型', index: 'banktype', type: 'enum', enum: { '1': '平安', '2': '浦发' }, width: 120 },
+ { title: '付款类型', index: 'brmtype', type: 'enum', enum: { '1': '费用款项' }, width: 120 },
+ { title: '收款人', index: 'artoname', width: 120 },
+ { title: '结算客户', index: 'cno', width: 120 },
+ { title: '银行水单', index: 'bankreceipt', width: 120 },
+ { title: '创建时间', index: 'createTime', width: 160 },
+ { title: '创建人', index: 'createUserId', width: 120 },
+ { title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
+ { title: '核销备注', index: 'remarks', width: 120 },
+ {
+ title: '操作',
+ fixed: 'right',
+ className: 'text-center',
+ width: 120,
+ buttons: [
+ {
+ text: '浏览',
+ click: item =>
+ this.router.navigate(['/financial-management/payable-order/detail/' + item.id], { queryParams: { billHId: item.billHId } })
+ }
+ ]
+ }
+ ];
+ }
+}
diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.html b/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.html
new file mode 100644
index 00000000..10fa8f90
--- /dev/null
+++ b/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+ {{headerInfo?.ltdId}}
+
+
+ {{headerInfo?.cno}}
+
+
+ {{headerInfo?.ltdaccount}}
+
+
+ {{headerInfo?.ahxmoney | currency}}
+
+
+
+
+ {{headerInfo?.ahxdate}}
+
+
+ {{headerInfo?.arto}}
+
+
+ {{headerInfo?.shipperaccount}}
+
+
+ {{headerInfo?.armoney | currency}}
+
+
+
+
+ {{headerInfo?.banktype==='1'?'平安':'浦发'}}
+
+
+ {{headerInfo?.arvattype==='1'?'费用款项':''}}
+
+
+ {{headerInfo?.bankreceipt}}
+
+
+ {{headerInfo?.remarks}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{index+1}}
+
+
+
\ No newline at end of file
diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.less b/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.less
new file mode 100644
index 00000000..aebf12ee
--- /dev/null
+++ b/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.less
@@ -0,0 +1,13 @@
+:host::ng-deep {
+
+ .statistics-box {
+ .ant-form-item {
+ margin-bottom: 0;
+
+ .ant-form-item-control-input-content {
+ color: #f5222d;
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.ts b/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.ts
new file mode 100644
index 00000000..57094f92
--- /dev/null
+++ b/src/app/routes/financial-management/components/receivable-order/receivable-order-detail/receivable-order-detail.component.ts
@@ -0,0 +1,177 @@
+import { CurrencyPipe } from '@angular/common';
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
+import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
+import { TicketService } from 'src/app/routes/ticket-management/services/ticket.service';
+import { FreightAccountService } from '../../../services/freight-account.service';
+
+@Component({
+ selector: 'app-receivable-order-detail',
+ templateUrl: './receivable-order-detail.component.html',
+ styleUrls: ['./receivable-order-detail.component.less', '../../../../commom/less/expend-but.less', '../../../../commom/less/box.less'],
+ providers: [CurrencyPipe]
+})
+export class ReceivableOrderDetailComponent implements OnInit {
+ @ViewChild('st', { static: true })
+ st!: STComponent;
+ @ViewChild('sf', { static: false })
+ sf!: SFComponent;
+ columns: STColumn[] = this.initST();
+ searchSchema: SFSchema = this.initSF();
+
+ _$expand = false;
+
+ id = null;
+ billHId = null;
+ headerInfo: any = {};
+ constructor(public service: FreightAccountService, private route: ActivatedRoute, private currencyPipe: CurrencyPipe) {
+ this.id = route.snapshot.params.id;
+ this.billHId = route.snapshot.queryParams.billHId;
+ this.loadHeadInfo();
+ }
+
+ ngOnInit(): void {}
+
+ loadHeadInfo() {
+ this.service.request(this.service.$api_get_fico_header, { id: this.id }).subscribe(res => {
+ console.log(res);
+ if (res) {
+ this.headerInfo = res;
+ }
+ });
+ }
+
+ beforeReq = (requestOptions: STRequestOptions) => {
+ Object.assign(requestOptions.body, { billHId: this.billHId });
+ if (this.sf) {
+ Object.assign(requestOptions.body, {
+ ...this.sf.value,
+ billTime: {
+ start: this.sf.value.billTime?.[0] || null,
+ end: this.sf.value.billTime?.[1] || null
+ },
+ feedate: {
+ start: this.sf.value.feedate?.[0] || null,
+ end: this.sf.value.feedate?.[1] || null
+ }
+ });
+ if (this.sf.value.billTime) {
+ Object.assign(requestOptions.body, {
+ billTime: {
+ start: this.sf.value.billTime?.[0] || null,
+ end: this.sf.value.billTime?.[1] || null
+ }
+ });
+ }
+ if (this.sf.value.feedate) {
+ Object.assign(requestOptions.body, {
+ feedate: {
+ start: this.sf.value.feedate?.[0] || null,
+ end: this.sf.value.feedate?.[1] || null
+ }
+ });
+ }
+ }
+ return requestOptions;
+ };
+
+ goBack() {
+ history.go(-1);
+ }
+
+ /**
+ * 重置表单
+ */
+ resetSF() {
+ this.sf.reset();
+ }
+
+ /**
+ * 伸缩查询条件
+ */
+ expandToggle() {
+ this._$expand = !this._$expand;
+ this.sf?.setValue('/expand', this._$expand);
+ }
+
+ private initSF(): SFSchema {
+ return {
+ properties: {
+ expand: {
+ type: 'boolean',
+ ui: {
+ hidden: true
+ }
+ },
+ feeHCode: {
+ type: 'string',
+ title: '费用单',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ billHCode: {
+ type: 'string',
+ title: '订单号',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ cno: {
+ type: 'string',
+ title: '结算客户',
+ enum: [{ label: '全部', value: '' }],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择'
+ },
+ default: ''
+ },
+ feedate: {
+ title: '费用日期',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ billTime: {
+ title: '订单日期',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ }
+ }
+ };
+ }
+
+ private initST(): STColumn[] {
+ return [
+ { title: '序号', render: 'no', width: 80 },
+ { title: '费用号', index: 'feeHCode', width: 100 },
+ { title: '费用日期', index: 'feedate', type: 'date', width: 150 },
+ { title: '订单号', index: 'billHCode', width: 100 },
+ { title: '订单日期', index: 'billTime', width: 150 },
+ { title: '费用类型', index: 'cnoName', width: 90 },
+ { title: '订单费用科目', index: 'feeSubId', width: 100 },
+ { title: '费用科目', index: 'feeSubId', width: 140 },
+ { title: '结算客户', index: 'cno', width: 100 },
+ {
+ title: '已收金额',
+ index: 'ahxmoney',
+ width: 100,
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.armoney)}`
+ }
+ ];
+ }
+}
diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order.component.html b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.html
new file mode 100644
index 00000000..04160a51
--- /dev/null
+++ b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts
new file mode 100644
index 00000000..ba1a3e26
--- /dev/null
+++ b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts
@@ -0,0 +1,286 @@
+import { CurrencyPipe } from '@angular/common';
+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 { NzModalService } from 'ng-zorro-antd/modal';
+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]
+})
+export class ReceivableOrderComponent implements OnInit {
+ @ViewChild('st', { static: true })
+ st!: STComponent;
+ @ViewChild('sf', { static: false })
+ sf!: SFComponent;
+ columns: STColumn[] = this.initST();
+ searchSchema: SFSchema = this.initSF();
+
+ _$expand = false;
+
+ selectedRows: any[] = [];
+ constructor(
+ public service: FreightAccountService,
+ private nzModalService: NzModalService,
+ private router: Router,
+ private currencyPipe: CurrencyPipe
+ ) {}
+
+ ngOnInit(): void {}
+
+ beforeReq = (requestOptions: STRequestOptions) => {
+ if (this.sf) {
+ Object.assign(requestOptions.body, {
+ ...this.sf.value
+ });
+ if (this.sf.value?.createTime) {
+ Object.assign(requestOptions.body, {
+ createTime: {
+ start: this.sf.value.createTime?.[0] || null,
+ end: this.sf.value.createTime?.[1] || null
+ }
+ });
+ }
+ if (this.sf.value?.ahxdate) {
+ Object.assign(requestOptions.body, {
+ ahxdate: {
+ start: this.sf.value.ahxdate?.[0] || null,
+ end: this.sf.value.ahxdate?.[1] || null
+ }
+ });
+ }
+ }
+ return requestOptions;
+ };
+
+ stChange(e: STChange): void {
+ switch (e.type) {
+ case 'checkbox':
+ this.selectedRows = e.checkbox!;
+ break;
+ }
+ }
+
+ /**
+ * 重置表单
+ */
+ resetSF() {
+ this.sf.reset();
+ this._$expand = false;
+ }
+
+ /**
+ * 伸缩查询条件
+ */
+ expandToggle() {
+ this._$expand = !this._$expand;
+ this.sf?.setValue('/expand', this._$expand);
+ }
+
+ private initSF(): SFSchema {
+ return {
+ properties: {
+ expand: {
+ type: 'boolean',
+ ui: {
+ hidden: true
+ }
+ },
+ ahxcode: {
+ type: 'string',
+ title: '核销单号',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ ltdid: {
+ type: 'string',
+ title: '网络货运人',
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ allowClear: true,
+ asyncData: () => this.service.getNetworkFreightForwarder()
+ },
+ default: ''
+ },
+ bankreceipt: {
+ type: 'string',
+ title: '银行水单',
+ ui: {
+ placeholder: '请输入'
+ }
+ },
+ brmtype: {
+ type: 'string',
+ title: '收款类型',
+ enum: [{ value: '1', label: '费用款项' }],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ arvattype: {
+ type: 'string',
+ title: '付款类型',
+ enum: [{ value: '1', label: '费用款项' }],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ cno: {
+ type: 'string',
+ title: '结算客户',
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ arto: {
+ type: 'string',
+ title: '付款人',
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ sts: {
+ type: 'string',
+ title: '核销状态',
+ enum: [
+ { value: 1, label: '已核销' },
+ { value: 0, label: '待核销' }
+ ],
+ ui: {
+ widget: 'select',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ ahxdate: {
+ title: '核销日期',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ createTime: {
+ title: '创建时间',
+ type: 'string',
+ ui: {
+ widget: 'sl-from-to-search',
+ format: 'yyyy-MM-dd',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ } as SFDateWidgetSchema
+ },
+ billHCode: {
+ type: 'string',
+ title: '订单号',
+ ui: {
+ placeholder: '请输入',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ orderS3: {
+ type: 'string',
+ title: '费用号',
+ ui: {
+ placeholder: '请输入',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ },
+ remarks: {
+ type: 'string',
+ title: '核销备注',
+ ui: {
+ autocomplete: 'off',
+ placeholder: '请选择',
+ visibleIf: {
+ expand: (value: boolean) => value
+ }
+ }
+ }
+ }
+ };
+ }
+
+ private initST(): STColumn[] {
+ return [
+ { title: '', index: 'key', type: 'checkbox' },
+ { title: '核销单号', index: 'ahxcode', type: 'link', width: 140 },
+ { title: '网络货运人', index: 'ltdId', width: 140 },
+ { title: '核销日期', index: 'ahxdate', type: 'date', width: 160 },
+ { title: '付款账户', index: 'shipperaccount', width: 120 },
+ { title: '收款账户', index: 'ltdaccount', width: 120 },
+ { title: '核销类型', index: 'ahxType', type: 'enum', enum: { '1': '预收款' }, width: 120 },
+ {
+ title: '核销金额',
+ index: 'ahxmoney',
+ width: 120,
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.ahxmoney)}`
+ },
+ {
+ title: '应收金额',
+ index: 'armoney',
+ width: 120,
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.armoney)}`
+ },
+ { title: '银行类型', index: 'banktype', type: 'enum', enum: { '1': '平安', '2': '浦发' }, width: 120 },
+ { title: '收款类型', index: 'arvattype', type: 'enum', enum: { '1': '费用款项' }, width: 120 },
+ { title: '付款人', index: 'artoname', width: 120 },
+ { title: '结算客户', index: 'cno', width: 120 },
+ { title: '银行水单', index: 'bankreceipt', width: 120 },
+ { title: '创建时间', index: 'createTime', width: 160 },
+ { title: '创建人', index: 'createUserId', width: 120 },
+ { title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
+ { title: '核销备注', index: 'remarks', width: 120 },
+ {
+ title: '操作',
+ fixed: 'right',
+ width: 120,
+ buttons: [
+ {
+ text: '浏览',
+ click: item =>
+ this.router.navigate(['/financial-management/receivable-order/detail/' + item.id], { queryParams: { billHId: item.billHId } })
+ },
+ {
+ text: '核销'
+ }
+ ]
+ }
+ ];
+ }
+}
diff --git a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts
index a1fe9788..a3565c95 100644
--- a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts
+++ b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts
@@ -244,7 +244,7 @@ export class WithdrawalsRecordComponent implements OnInit {
{ title: '提现单号', index: 'refundApplyCode', width: 120 },
{ title: '网络货运人', index: 'ltdName', width: 120 },
{ title: '银行类型', index: 'bankTypeLabel', width: 100 },
- { title: '账户类型', index: 'accountType', width: 100 },
+ { title: '账户类型', index: 'bankTypeLabel', width: 100 },
{ title: '账户名称', index: 'bankAccountName', width: 100 },
{ title: '虚拟账户', index: 'virtualAccount', width: 100 },
{ title: '提现金额', index: 'amount', width: 100 },
diff --git a/src/app/routes/financial-management/financial-managemen-routing.module.ts b/src/app/routes/financial-management/financial-managemen-routing.module.ts
index 22c312d0..5e2923c2 100644
--- a/src/app/routes/financial-management/financial-managemen-routing.module.ts
+++ b/src/app/routes/financial-management/financial-managemen-routing.module.ts
@@ -18,6 +18,10 @@ import { PaymentOrderComponent } from './components/payment-order/payment-order.
import { ReceiptOrderComponent } from './components/receipt-order/receipt-order.component';
import { VoucherManagementComponent } from './components/voucher-management/voucher-management.component';
import { VoucherSummaryComponent } from './components/voucher-summary/voucher-summary.component';
+import { ReceivableOrderComponent } from './components/receivable-order/receivable-order.component';
+import { PayableOrderComponent } from './components/payable-order/payable-order.component';
+import { ReceivableOrderDetailComponent } from './components/receivable-order/receivable-order-detail/receivable-order-detail.component';
+import { PayableOrderDetailComponent } from './components/payable-order/payable-order-detail/payable-order-detail.component';
const routes: Routes = [
{ path: 'freight-account', component: FreightAccountComponent },
@@ -37,7 +41,11 @@ const routes: Routes = [
{ path: 'payment-record', component: PaymentRecordComponent },
{ path: 'transaction-flow', component: TransactionFlowComponent },
{ path: 'payment-order', component: PaymentOrderComponent },
- { path: 'receipt-order', component: ReceiptOrderComponent }
+ { path: 'receipt-order', component: ReceiptOrderComponent },
+ { path: 'receivable-order', component: ReceivableOrderComponent },
+ { path: 'receivable-order/detail/:id', component: ReceivableOrderDetailComponent },
+ { path: 'payable-order', component: PayableOrderComponent },
+ { path: 'payable-order/detail/:id', component: PayableOrderDetailComponent },
];
@NgModule({
diff --git a/src/app/routes/financial-management/financial-management.module.ts b/src/app/routes/financial-management/financial-management.module.ts
index 34f5480c..58cc4e1e 100644
--- a/src/app/routes/financial-management/financial-management.module.ts
+++ b/src/app/routes/financial-management/financial-management.module.ts
@@ -22,6 +22,10 @@ import { PaymentOrderComponent } from './components/payment-order/payment-order.
import { ReceiptOrderComponent } from './components/receipt-order/receipt-order.component';
import { VoucherManagementComponent } from './components/voucher-management/voucher-management.component';
import { VoucherSummaryComponent } from './components/voucher-summary/voucher-summary.component';
+import { ReceivableOrderComponent } from './components/receivable-order/receivable-order.component';
+import { PayableOrderComponent } from './components/payable-order/payable-order.component';
+import { ReceivableOrderDetailComponent } from './components/receivable-order/receivable-order-detail/receivable-order-detail.component';
+import { PayableOrderDetailComponent } from './components/payable-order/payable-order-detail/payable-order-detail.component';
const ROUTESCOMPONENTS = [
FreightAccountComponent,
@@ -39,13 +43,16 @@ const ROUTESCOMPONENTS = [
PaymentOrderComponent,
ReceiptOrderComponent,
VoucherManagementComponent,
- VoucherSummaryComponent
+ VoucherSummaryComponent,
+ ReceivableOrderComponent,
+ PayableOrderComponent,
+ ReceivableOrderDetailComponent
];
const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, SettingFinancialComponent, ClearingModalComponent];
@NgModule({
- declarations: [...ROUTESCOMPONENTS, ...NOTROUTECOMPONENTS],
+ declarations: [...ROUTESCOMPONENTS, ...NOTROUTECOMPONENTS, PayableOrderDetailComponent],
imports: [CommonModule, FinancialManagementRoutingModule, SharedModule]
})
export class FinancialManagementModule {}
diff --git a/src/app/routes/financial-management/services/freight-account.service.ts b/src/app/routes/financial-management/services/freight-account.service.ts
index 692df4a1..fa258465 100644
--- a/src/app/routes/financial-management/services/freight-account.service.ts
+++ b/src/app/routes/financial-management/services/freight-account.service.ts
@@ -57,6 +57,21 @@ export class FreightAccountService extends ShipperBaseService {
// 根据费用头ID查询费用单及开票明细
$api_get_cost_detail = '/api/fcc/ficoFeeL/detail';
+ // 查询应收核销抬头
+ $api_get_fico_page = '/api/fcc/ficoAhxH/list/page';
+ // 获取应收核销抬头
+ $api_get_fico_header = '/api/fcc/ficoAhxH/get';
+ // 查询应收核销明细
+ $api_get_fico_detail_header = '/api/fcc/ficoAhxL/list/page';
+
+ // 查询应付核销抬头
+ $api_get_fico_ph_page = '/api/fcc/ficoPhxH/list/page';
+ // 获取应付核销抬头
+ $api_get_fico_ph_header = '/api/fcc/ficoPhxH/get';
+ // 查询应付核销明细
+ $api_get_fico_ph_detail_header = '/api/fcc/ficoPhxL/list/page';
+
+
constructor(public injector: Injector,public eaCacheSrv: EACacheService) {
super(injector, eaCacheSrv);
}
diff --git a/src/app/routes/usercenter/components/driver/driver.component.ts b/src/app/routes/usercenter/components/driver/driver.component.ts
index 1a4cf535..cbf6b16f 100644
--- a/src/app/routes/usercenter/components/driver/driver.component.ts
+++ b/src/app/routes/usercenter/components/driver/driver.component.ts
@@ -102,12 +102,18 @@ export class UserCenterComponentsDriverComponent implements OnInit {
}
showAccountDetail(item: any) {
+ console.log(item);
+
this.modal.create({
nzTitle: '资金账户',
nzContent: AccountDetailComponent,
nzNoAnimation: true,
nzWidth: 600,
- nzComponentParams: { isCanCreate: true },
+ nzComponentParams: {
+ isCanCreate: true,
+ url: '/api/fcc/accountBalance/getDriverAccountDetailByOperator',
+ params: { accountType: 2, roleId: item.appUserId, ctfId: item.identityNo }
+ },
nzFooter: null
});
}
diff --git a/src/app/routes/usercenter/components/freight/list/list.component.ts b/src/app/routes/usercenter/components/freight/list/list.component.ts
index e42efa59..e7c01a2e 100644
--- a/src/app/routes/usercenter/components/freight/list/list.component.ts
+++ b/src/app/routes/usercenter/components/freight/list/list.component.ts
@@ -74,7 +74,11 @@ export class FreightComponentsListComponent implements OnInit {
nzContent: AccountDetailComponent,
nzNoAnimation: true,
nzWidth: 600,
- nzComponentParams: { isCanCreate: true },
+ nzComponentParams: {
+ isCanCreate: true,
+ url: '/api/fcc/accountBalance/getShipperAccountBalanceDetailByOperator',
+ params: { accountType: 1, roleId: item.adminAppUserId, ctfId: item.unifiedSocialCreditCode }
+ },
nzFooter: null
});
}
diff --git a/src/app/shared/components/account-detail/account-detail.component.html b/src/app/shared/components/account-detail/account-detail.component.html
index 14db892e..d480f8db 100644
--- a/src/app/shared/components/account-detail/account-detail.component.html
+++ b/src/app/shared/components/account-detail/account-detail.component.html
@@ -1,22 +1,12 @@
-
-
- {{ item.promotersTelephone || '添加' }}
-
-
- {{ item.promotersTelephone }}
-
+
+ {{ item.paAccount || '添加' }}
-
-
- {{ item.promotersTelephone || '添加' }}
-
-
- {{ item.promotersTelephone }}
-
+
+ {{ item.pfAccount || '添加' }}
\ No newline at end of file
diff --git a/src/app/shared/components/account-detail/account-detail.component.ts b/src/app/shared/components/account-detail/account-detail.component.ts
index eeb43548..40087f03 100644
--- a/src/app/shared/components/account-detail/account-detail.component.ts
+++ b/src/app/shared/components/account-detail/account-detail.component.ts
@@ -1,6 +1,7 @@
import { CurrencyPipe } from '@angular/common';
import { Component, OnInit, ViewChild } from '@angular/core';
import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
+import { NzModalRef } from 'ng-zorro-antd/modal';
import { BaseService } from '../../services';
@Component({
@@ -13,35 +14,88 @@ export class AccountDetailComponent implements OnInit {
st!: STComponent;
columns: STColumn[] = [];
- url = '';
+ url = '/api/fcc/accountBalance/getDriverAccountDetailByOperator';
isCanCreate = false;
- constructor(public service: BaseService, private currencyPipe: CurrencyPipe) {
+ params: any = {};
+ constructor(public service: BaseService, public currencyPipe: CurrencyPipe, private modalHelp: NzModalRef) {
this.initST();
}
ngOnInit(): void {}
- createPA(item: any) {}
- createPF(item: any) {}
+ createAccount(item: any, type: '1' | '2') {
+ const params = {
+ ltdId: item.ltdId,
+ roleId: item.roleId,
+ projectId: item.projectId,
+ enterpriseId: item.enterpriseId,
+ ctfId: this.params.ctfId,
+ clientName: this.params.clientName
+ };
+ if (this.params.accountType === 1) {
+ this.service
+ .request('/api/fcc/accountBalance/saveByShipper', {
+ accountType: this.params.accountType,
+ bankType: type,
+ isProjectMain: 0,
+ ...params
+ })
+ .subscribe(res => {
+ if (res) {
+ this.service.msgSrv.success('开户成功');
+ this.modalHelp.destroy();
+ }
+ });
+ }
+ if (this.params.accountType === 2) {
+ this.service
+ .request('/api/fcc/accountBalance/saveByDriver', {
+ accountType: this.params.accountType,
+ bankType: type,
+ ...params
+ })
+ .subscribe(res => {
+ if (res) {
+ this.service.msgSrv.success('开户成功');
+ this.modalHelp.destroy();
+ }
+ });
+ }
+ }
beforeReq = (requestOptions: STRequestOptions) => {
+ Object.assign(requestOptions.body, this.params);
return requestOptions;
};
initST() {
this.columns = [
- { title: '网络货运人', index: 'phone', className: 'text-center' },
+ { title: '网络货运人', index: 'ltdName', className: 'text-center' },
+ {
+ title: '平安资金账户',
+ render: 'paAccount',
+ className: 'text-center',
+ iif: _ => this.isCanCreate
+ },
+ {
+ title: '浦发资金账户',
+ render: 'pfAccount',
+ className: 'text-center',
+ iif: _ => this.isCanCreate
+ },
{
title: '平安账户余额',
- render: 'ltdName',
- type: 'currency',
- format: item => `${this.currencyPipe.transform(item.availableBalance)}`
+ render: 'paBalance',
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.paBalance)}`,
+ iif: _ => !this.isCanCreate
},
{
title: '浦发账户余额',
- render: 'bankTypeLabel',
- type: 'currency',
- format: item => `${this.currencyPipe.transform(item.availableBalance)}`
+ render: 'pfBalance',
+ className: 'text-right',
+ format: item => `${this.currencyPipe.transform(item.pfBalance)}`,
+ iif: _ => !this.isCanCreate
}
];
}
diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json
index 85caa61b..b93fec66 100644
--- a/src/assets/mocks/menu-data.json
+++ b/src/assets/mocks/menu-data.json
@@ -301,6 +301,24 @@
{
"text": "交易流水",
"link": "/financial-management/transaction-flow"
+ },
+ {
+ "text": "应收核销",
+ "link": "/financial-management/receivable-order"
+ },
+ {
+ "text": "应收核销详情",
+ "hide": true,
+ "link": "/financial-management/receivable-order/detail/:id"
+ },
+ {
+ "text": "应付核销",
+ "link": "/financial-management/payable-order"
+ },
+ {
+ "text": "应收核销详情",
+ "hide": true,
+ "link": "/financial-management/payable-order/detail/:id"
}
]
},