From 37daa23ae18272c98a5c8e55c7d3d2f4664549bb Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Thu, 23 Dec 2021 17:07:57 +0800 Subject: [PATCH 1/2] edit --- .../invoiced-list.component.html | 34 +-- .../invoiced-list.component.less | 3 + .../invoiced-list/invoiced-list.component.ts | 246 +++++++++--------- 3 files changed, 140 insertions(+), 143 deletions(-) diff --git a/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.html b/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.html index 9e63c5e5..74605d6e 100644 --- a/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.html +++ b/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.html @@ -24,48 +24,32 @@
- - + +
已选择 - {{ selectedRows.length }} 条数据   开票金额总计 {{ + {{ selectedRows.length }} 条数据   开票金额总计 {{ totalCallNo }} 清空
- - - {{item.callNo}} - 查看物流 + + {{item.no}} + 预览发票
- -
-
- - - - - - - - - -
-
-
-

- 顺丰快递:SF123456789 + 顺丰快递: SF123456789 已签收

diff --git a/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.less b/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.less index 01444c35..c71e2dfd 100644 --- a/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.less +++ b/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.less @@ -15,6 +15,9 @@ width: 100%; } + .text-truncate { + white-space: normal; + } } .expend-options { diff --git a/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.ts b/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.ts index e8c4ab66..5f31cd3c 100644 --- a/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.ts +++ b/src/app/routes/ticket-management/components/invoiced-list/invoiced-list.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { Router } from '@angular/router'; -import { STComponent, STColumn, STChange } from '@delon/abc/st'; +import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { NzModalService } from 'ng-zorro-antd/modal'; import { TicketService } from '../../services/ticket.service'; @@ -20,100 +20,8 @@ export class InvoicedListComponent implements OnInit { logosticsModal!: any; @ViewChild('logosticsLogsModal', { static: false }) logosticsLogsModal!: any; - columns: STColumn[] = [ - { title: '', index: 'key', type: 'checkbox' }, - { title: '发票号码', index: 'no' }, - { title: '申请编号', index: 'callNo' }, - { title: '托运人', index: 'callNo' }, - { title: '无车承运人', index: 'callNo' }, - { title: '运单数', index: 'callNo' }, - { title: '开票金额', index: 'callNo' }, - { title: '税价合计', index: 'callNo' }, - { title: '开票日期', index: 'updatedAt', type: 'date' }, - { title: '快递信息', render: 'logostics' }, - { - title: '操作', - buttons: [ - { - text: '作废发票', - click: item => this.deletedInvoice(item) - }, - { - text: '预览发票', - click: item => this.routeTo(item) - }, - { - text: '填写物流', - click: item => this.editInvoice(item) - } - ] - } - ]; - searchSchema: SFSchema = { - properties: { - expand: { - type: 'boolean', - ui: { - hidden: true - } - }, - orderSn: { - type: 'string', - title: '发票号码', - ui: { - autocomplete: 'off' - } - }, - orderSn2: { - type: 'string', - title: '申请编号', - ui: { - autocomplete: 'off' - } - }, - createTime: { - title: '开票日期', - type: 'string', - ui: { - widget: 'date', - mode: 'range', - format: 'yyyy-MM-dd' - } as SFDateWidgetSchema - }, - receiveName: { - type: 'string', - title: '托运人', - enum: [{ label: '全部', value: '全部' }], - ui: { - widget: 'select', - placeholder: '请选择', - change: (i: any) => { - this.sf.value.receiveName = i; - this.sf?.setValue('/receiveName', i); - }, - visibleIf: { - expand: (value: boolean) => value - } - } - }, - receiveName2: { - type: 'string', - title: '无车承运人', - enum: [{ label: '全部', value: '全部' }], - ui: { - widget: 'select', - placeholder: '请选择', - change: (i: any) => { - this.sf.value.receiveName2 = i; - this.sf?.setValue('/receiveName2', i); - }, - visibleIf: { - expand: (value: boolean) => value - } - } - } - } - }; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); reqParams = {}; @@ -125,15 +33,19 @@ export class InvoicedListComponent implements OnInit { ngOnInit(): void {} + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + this.reqParams = { ...this.sf.value }; + } + return requestOptions; + }; + stChange(e: STChange): void { switch (e.type) { case 'checkbox': this.selectedRows = e.checkbox!; this.totalCallNo = this.selectedRows.reduce((total, cv) => total + cv.callNo, 0); break; - case 'filter': - this.st.load(); - break; } } @@ -141,26 +53,11 @@ export class InvoicedListComponent implements OnInit { add(): void {} - routeTo(item: any) { - this.router.navigate(['/ticket/invoice-list-detail/1']); - } - - delete(item: any) { - this.st.removeRow(item); - } - - editInvoice(item: any) { - const modal = this.nzModalService.create({ - nzTitle: '填写物流/修改物流', - nzContent: this.logosticsModal, - nzOnOk: () => {} - }); - modal.afterClose.subscribe(res => { - this.st.load(); - }); - } - - deletedInvoice(item: any) { + deletedInvoice() { + if (this.selectedRows?.length <= 0) { + this.service.msgSrv.warning('请选择发票'); + return; + } this.nzModalService.warning({ nzTitle: '确定将所选发票作废?', nzCancelText: '取消', @@ -168,6 +65,18 @@ export class InvoicedListComponent implements OnInit { }); } + invoiceHongChong() { + if (this.selectedRows?.length <= 0) { + this.service.msgSrv.warning('请选择发票'); + return; + } + this.nzModalService.warning({ + nzTitle: '确定将所选发票红冲?', + nzCancelText: '取消', + nzOnOk: () => {} + }); + } + showlogosticsLogs(item: any) { this.nzModalService.create({ nzTitle: '查看物流', @@ -192,4 +101,105 @@ export class InvoicedListComponent implements OnInit { this._$expand = !this._$expand; this.sf?.setValue('/expand', this._$expand); } + + private initSF(): SFSchema { + return { + properties: { + expand: { + type: 'boolean', + ui: { + hidden: true + } + }, + orderSn: { + type: 'string', + title: '发票号码', + ui: { + autocomplete: 'off' + } + }, + orderSn2: { + type: 'string', + title: '申请编号', + ui: { + autocomplete: 'off' + } + }, + createTime: { + title: '开票日期', + type: 'string', + ui: { + widget: 'date', + mode: 'range', + format: 'yyyy-MM-dd' + } as SFDateWidgetSchema + }, + receiveName: { + type: 'string', + title: '购买人', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + receiveName2: { + type: 'string', + title: '网络货运人', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '', index: 'key', type: 'checkbox' }, + { title: '发票号码', index: 'no', width: 150 }, + { title: '申请编号', index: 'callNo', width: 150 }, + { title: '申请时间', index: 'updatedAt', type: 'date', width: 150 }, + { title: '发票类型', index: 'callNo', width: 100 }, + { title: '网络货运人', index: 'callNo', width: 120 }, + { title: '购买人', index: 'callNo', width: 90 }, + { title: '订单数', index: 'callNo', width: 90 }, + { title: '价税合计', index: 'callNo', width: 100 }, + { title: '金额', index: 'callNo', width: 90 }, + { title: '税率', index: 'callNo', width: 90 }, + { title: '税额', index: 'callNo', width: 90 }, + { title: '开票日期', index: 'updatedAt', type: 'date', width: 150 }, + { + title: '快递信息', + render: 'logostics', + width: 120, + format: item => `顺丰快递
6202110012313` + }, + { title: '状态', render: 'logostics', width: 90 }, + { + title: '操作', + fixed: 'right', + className: 'text-center', + width: 110, + buttons: [ + { + text: '查看明细', + click: item => this.router.navigate(['/ticket/invoice-list/detail/1']) + }, + { + text: '查看物流', + click: item => this.showlogosticsLogs(item) + } + ] + } + ]; + } } From dc28444d164eddce537c9dc810189e601e4bb6e4 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Thu, 23 Dec 2021 20:05:25 +0800 Subject: [PATCH 2/2] edit --- .../abnormal-gold.component.html | 38 +++ .../abnormal-gold.component.less | 37 +++ .../abnormal-gold/abnormal-gold.component.ts | 187 ++++++++++++++ .../clearing-modal.component.html | 2 + .../clearing-modal.component.less | 0 .../clearing-modal.component.ts | 96 +++++++ .../cost-management.component.html | 1 + .../cost-management.component.less | 0 .../cost-management.component.ts | 15 ++ .../payment-record.component.html | 38 +++ .../payment-record.component.less | 41 +++ .../payment-record.component.ts | 242 ++++++++++++++++++ .../transaction-flow.component.html | 31 +++ .../transaction-flow.component.less | 41 +++ .../transaction-flow.component.ts | 214 ++++++++++++++++ .../voucher-management.component.html | 1 + .../voucher-management.component.less | 0 .../voucher-management.component.ts | 15 ++ .../voucher-summary.component.html | 1 + .../voucher-summary.component.less | 0 .../voucher-summary.component.ts | 15 ++ .../financial-managemen-routing.module.ts | 10 + .../financial-management.module.ts | 13 +- src/assets/mocks/menu-data.json | 16 ++ 24 files changed, 1052 insertions(+), 2 deletions(-) create mode 100644 src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.html create mode 100644 src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.less create mode 100644 src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.ts create mode 100644 src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.html create mode 100644 src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.less create mode 100644 src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.ts create mode 100644 src/app/routes/financial-management/components/cost-management/cost-management.component.html create mode 100644 src/app/routes/financial-management/components/cost-management/cost-management.component.less create mode 100644 src/app/routes/financial-management/components/cost-management/cost-management.component.ts create mode 100644 src/app/routes/financial-management/components/payment-record/payment-record.component.html create mode 100644 src/app/routes/financial-management/components/payment-record/payment-record.component.less create mode 100644 src/app/routes/financial-management/components/payment-record/payment-record.component.ts create mode 100644 src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.html create mode 100644 src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.less create mode 100644 src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts create mode 100644 src/app/routes/financial-management/components/voucher-management/voucher-management.component.html create mode 100644 src/app/routes/financial-management/components/voucher-management/voucher-management.component.less create mode 100644 src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts create mode 100644 src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.html create mode 100644 src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.less create mode 100644 src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.ts diff --git a/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.html b/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.html new file mode 100644 index 00000000..ca5cf13d --- /dev/null +++ b/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.html @@ -0,0 +1,38 @@ + + + + + +
+
+ +
+
+ + + + +
+
+
+ + + + + + + + + + + \ No newline at end of file diff --git a/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.less b/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.less new file mode 100644 index 00000000..c5f2b1ea --- /dev/null +++ b/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.less @@ -0,0 +1,37 @@ +:host::ng-deep { + .search-box { + .ant-card-body { + padding-bottom: 18px; + } + } + + .content-box { + .ant-card-body { + padding-top: 0; + } + } + + nz-range-picker { + width: 100%; + } + + .ant-tabs-tab-btn { + padding-left : 16px; + padding-right: 16px; + } +} + +.expend-options { + margin-top: 0px; +} + + +@media (min-width: 1200px) { + .expend-options { + max-width: 400px; + position : absolute; + right : 0; + bottom : 25px; + } + +} \ No newline at end of file diff --git a/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.ts b/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.ts new file mode 100644 index 00000000..43facb7e --- /dev/null +++ b/src/app/routes/financial-management/components/abnormal-gold/abnormal-gold.component.ts @@ -0,0 +1,187 @@ +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 { FreightAccountService } from '../../services/freight-account.service'; +import { ClearingModalComponent } from './clearing-modal/clearing-modal.component'; + +@Component({ + selector: 'app-abnormal-gold', + templateUrl: './abnormal-gold.component.html', + styleUrls: ['./abnormal-gold.component.less'] +}) +export class AbnormalGoldComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); + + reqParams = {}; + + _$expand = false; + + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + this.reqParams = { ...this.sf.value }; + } + return requestOptions; + }; + + refund(item: any) { + this.nzModalService.warning({ + nzTitle: '确定要将该笔款项原路退回?', + nzOnOk: () => {} + }); + } + + clearingAction(item: any) { + const modal = this.nzModalService.create({ + nzTitle: '清分', + nzContent: ClearingModalComponent, + nzOnOk: com => { + console.log(com.sf.value); + + return false; + } + }); + } + + /** + * 重置表单 + */ + 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 + } + }, + orderSn: { + type: 'string', + title: '银行流水号', + ui: { + placeholder: '请输入' + } + }, + receiveName: { + type: 'string', + title: '网络货运人', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择' + } + }, + orderSn22: { + type: 'string', + title: '银行类型', + ui: { + placeholder: '请输入' + } + }, + orderSn2: { + type: 'string', + title: '付款账户', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderSn221: { + type: 'string', + title: '付款账号', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderS2n221: { + type: 'string', + title: '付款银行', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + createTime: { + title: '转账时间', + type: 'string', + ui: { + widget: 'date', + mode: 'range', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '银行流水号', index: 'no', width: 150 }, + { title: '网络货运人', index: 'callNo', width: 120 }, + { title: '银行类型', index: 'callNo', width: 100 }, + { title: '资金总账号', index: 'callNo', width: 120 }, + { title: '充值金额', index: 'callNo', width: 100 }, + { title: '付款账户', index: 'callNo', width: 100 }, + { title: '付款账号', index: 'callNo', width: 100 }, + { title: '付款银行', index: 'callNo', width: 100 }, + { title: '转账时间', index: 'callNo', type: 'date', width: 150 }, + { title: '转账备注', index: 'callNo', width: 100 }, + { title: '操作人', index: 'callNo', width: 90 }, + { title: '操作时间', index: 'callNo', type: 'date', width: 150 }, + { title: '状态', index: 'callNo', width: 90 }, + { + title: '操作', + fixed: 'right', + className: 'text-center', + width: 120, + buttons: [ + { + text: '清分', + click: item => this.clearingAction(item) + }, + { + text: '退款', + click: item => this.refund(item) + }, + { + text: '查看', + click: item => this.router.navigate(['/financial-management/withdrawals-record/detail/1']) + } + ] + } + ]; + } +} diff --git a/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.html b/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.html new file mode 100644 index 00000000..fd8c045d --- /dev/null +++ b/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.less b/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.ts b/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.ts new file mode 100644 index 00000000..b96e5fe3 --- /dev/null +++ b/src/app/routes/financial-management/components/abnormal-gold/clearing-modal/clearing-modal.component.ts @@ -0,0 +1,96 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { apiConf } from '@conf/api.conf'; +import { SFComponent, SFSchema, SFTextWidgetSchema, SFUISchema, SFUploadWidgetSchema } from '@delon/form'; +import { NzModalRef } from 'ng-zorro-antd/modal'; +import { FreightAccountService } from '../../../services/freight-account.service'; + +const IMAGECONFIG = { + action: apiConf.waterFileUpload, + fileType: 'image/png,image/jpeg,image/jpg,image/gif', + fileSize: 5120, + limit: 1, + limitFileCount: 1, + resReName: 'data.fullFileWatermarkPath', + urlReName: 'data.fullFileWatermarkPath', + widget: 'upload', + name: 'multipartFile', + multiple: false, + listType: 'picture-card' +}; + +@Component({ + selector: 'app-clearing-modal', + templateUrl: './clearing-modal.component.html', + styleUrls: ['./clearing-modal.component.less'] +}) +export class ClearingModalComponent implements OnInit { + @ViewChild('sf', { static: false }) + sf!: SFComponent; + i: any; + schema!: SFSchema; + ui: SFUISchema = { + '*': { + spanLabelFixed: 120, + grid: { span: 18 } + } + }; + + constructor(private modal: NzModalRef, public service: FreightAccountService) {} + + ngOnInit(): void { + this.initSF(this.i); + } + initSF(staff: any) { + this.schema = { + properties: { + name: { + title: '入账金额', + type: 'string', + ui: { + widget: 'text' + } as SFTextWidgetSchema, + default: '10000.00' + }, + name2: { + title: '网络货运人', + type: 'string', + ui: { + widget: 'text' + } as SFTextWidgetSchema, + default: '天津怡亚通物流科技有限公司' + }, + name3: { + title: '银行类型', + type: 'string', + ui: { + widget: 'text' + } as SFTextWidgetSchema, + default: '平安银行' + }, + receiveName: { + type: 'string', + title: '分配对象', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择' + }, + default: '' + }, + licensePhotoWatermark: { + type: 'string', + title: '上传凭证', + ui: { + ...IMAGECONFIG, + change: args => { + if (args.type === 'success') { + this.sf.setValue('/licensePhoto', args.fileList[0].response.data.fullFilePath); + } + } + } as SFUploadWidgetSchema + } + }, + required: ['name', 'name2', 'name3', 'receiveName'] + }; + } +} diff --git a/src/app/routes/financial-management/components/cost-management/cost-management.component.html b/src/app/routes/financial-management/components/cost-management/cost-management.component.html new file mode 100644 index 00000000..d2661708 --- /dev/null +++ b/src/app/routes/financial-management/components/cost-management/cost-management.component.html @@ -0,0 +1 @@ +

cost-management works!

diff --git a/src/app/routes/financial-management/components/cost-management/cost-management.component.less b/src/app/routes/financial-management/components/cost-management/cost-management.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/financial-management/components/cost-management/cost-management.component.ts b/src/app/routes/financial-management/components/cost-management/cost-management.component.ts new file mode 100644 index 00000000..eeaf8103 --- /dev/null +++ b/src/app/routes/financial-management/components/cost-management/cost-management.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-cost-management', + templateUrl: './cost-management.component.html', + styleUrls: ['./cost-management.component.less'] +}) +export class CostManagementComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/routes/financial-management/components/payment-record/payment-record.component.html b/src/app/routes/financial-management/components/payment-record/payment-record.component.html new file mode 100644 index 00000000..e3cad067 --- /dev/null +++ b/src/app/routes/financial-management/components/payment-record/payment-record.component.html @@ -0,0 +1,38 @@ + + + + +
+
+ +
+
+ + + + +
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/src/app/routes/financial-management/components/payment-record/payment-record.component.less b/src/app/routes/financial-management/components/payment-record/payment-record.component.less new file mode 100644 index 00000000..cd8c3436 --- /dev/null +++ b/src/app/routes/financial-management/components/payment-record/payment-record.component.less @@ -0,0 +1,41 @@ +:host::ng-deep { + .search-box { + .ant-card-body { + padding-bottom: 18px; + } + } + + .content-box { + .ant-card-body { + padding-top: 0; + } + } + + nz-range-picker { + width: 100%; + } + + .ant-tabs-tab-btn { + padding-left : 16px; + padding-right: 16px; + } + + .text-truncate { + white-space: normal; + } +} + +.expend-options { + margin-top: 0px; +} + + +@media (min-width: 1200px) { + .expend-options { + max-width: 400px; + position : absolute; + right : 0; + bottom : 25px; + } + +} \ No newline at end of file diff --git a/src/app/routes/financial-management/components/payment-record/payment-record.component.ts b/src/app/routes/financial-management/components/payment-record/payment-record.component.ts new file mode 100644 index 00000000..ececa284 --- /dev/null +++ b/src/app/routes/financial-management/components/payment-record/payment-record.component.ts @@ -0,0 +1,242 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st'; +import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { FreightAccountService } from '../../services/freight-account.service'; +import { ClearingModalComponent } from '../abnormal-gold/clearing-modal/clearing-modal.component'; + +@Component({ + selector: 'app-payment-record', + templateUrl: './payment-record.component.html', + styleUrls: ['./payment-record.component.less'] +}) +export class PaymentRecordComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); + + reqParams = {}; + + _$expand = false; + + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + this.reqParams = { ...this.sf.value }; + } + return requestOptions; + }; + + refund(item: any) { + this.nzModalService.warning({ + nzTitle: '确定要关闭所选支付记录?', + nzOnOk: () => {} + }); + } + + /** + * 重置表单 + */ + 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 + } + }, + orderSn: { + type: 'string', + title: '支付编号', + ui: { + placeholder: '请输入' + } + }, + order2Sn: { + type: 'string', + title: '订单号', + ui: { + placeholder: '请输入' + } + }, + orderSn22: { + type: 'string', + title: '货源编号', + ui: { + placeholder: '请输入' + } + }, + orderSn2: { + type: 'string', + title: '服务类型', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderSn221: { + type: 'string', + title: '承运司机', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderS2n221: { + type: 'string', + title: '车牌号', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderS2n2221: { + type: 'string', + title: '收款人', + ui: { + placeholder: '请输入收款人姓名/手机号', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderSn221f: { + type: 'string', + title: '车队长收款', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + ord1erSn221f: { + type: 'string', + title: '支付类型', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + createTime: { + title: '申请时间', + type: 'string', + ui: { + widget: 'date', + mode: 'range', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + }, + create1Time: { + title: '处理时间', + type: 'string', + ui: { + widget: 'date', + mode: 'range', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + }, + orderSn5221f: { + type: 'string', + title: '银行类型', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orde1rSn5221f: { + type: 'string', + title: '网络货运人', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '支付编号', index: 'no', width: 150, format: item => `JS20210930000001
` }, + { title: '支付金额', index: 'callNo', width: 100, format: item => `¥2000.00` }, + { title: '运费明细', index: 'callNo', width: 150, format: item => `预付:¥ 4000.00
附加费:¥ 200.00` }, + { title: '支付类型', index: 'callNo', width: 100 }, + { title: '货主', index: 'callNo', width: 100 }, + { title: '订单号', index: 'callNo', width: 100, format: item => `DZ210817466436972
` }, + { title: '运单号', index: 'callNo', width: 100, format: item => `DZ210817466436972
` }, + { title: '货源编号', index: 'callNo', width: 100 }, + { title: '服务类型', index: 'callNo', type: 'date', width: 150 }, + { title: '承运司机', index: 'callNo', width: 120, format: item => `特朗普
13789040523
粤GT8419` }, + { title: '收款人', index: 'callNo', width: 120, format: item => `拜登
13789040523` }, + { title: '银行类型', index: 'callNo', type: 'date', width: 150 }, + { title: '网络货运人', index: 'callNo', width: 120 }, + { title: '申请时间', index: 'callNo', width: 150 }, + { title: '申请人', index: 'callNo', width: 90 }, + { title: '处理时间', index: 'callNo', width: 150 }, + { title: '处理人', index: 'callNo', width: 90 }, + { title: '失败原因', index: 'callNo', width: 100 }, + { + title: '操作', + fixed: 'right', + className: 'text-center', + width: 120, + buttons: [ + { + text: '关闭', + click: item => this.refund(item) + } + ] + } + ]; + } +} diff --git a/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.html b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.html new file mode 100644 index 00000000..b187ba50 --- /dev/null +++ b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.html @@ -0,0 +1,31 @@ + + + + +
+
+ +
+
+ + + + +
+
+
+ + + + + \ No newline at end of file diff --git a/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.less b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.less new file mode 100644 index 00000000..cd8c3436 --- /dev/null +++ b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.less @@ -0,0 +1,41 @@ +:host::ng-deep { + .search-box { + .ant-card-body { + padding-bottom: 18px; + } + } + + .content-box { + .ant-card-body { + padding-top: 0; + } + } + + nz-range-picker { + width: 100%; + } + + .ant-tabs-tab-btn { + padding-left : 16px; + padding-right: 16px; + } + + .text-truncate { + white-space: normal; + } +} + +.expend-options { + margin-top: 0px; +} + + +@media (min-width: 1200px) { + .expend-options { + max-width: 400px; + position : absolute; + right : 0; + bottom : 25px; + } + +} \ No newline at end of file diff --git a/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts new file mode 100644 index 00000000..528cb1ab --- /dev/null +++ b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts @@ -0,0 +1,214 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st'; +import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { FreightAccountService } from '../../services/freight-account.service'; + +@Component({ + selector: 'app-transaction-flow', + templateUrl: './transaction-flow.component.html', + styleUrls: ['./transaction-flow.component.less'] +}) +export class TransactionFlowComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); + + reqParams = {}; + + _$expand = false; + + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + this.reqParams = { ...this.sf.value }; + } + return requestOptions; + }; + + /** + * 重置表单 + */ + 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 + } + }, + orderSn: { + title: '交易时间', + type: 'string', + ui: { + widget: 'date', + mode: 'range', + format: 'yyyy-MM-dd' + } as SFDateWidgetSchema + }, + order2Sn: { + type: 'string', + title: '流水号', + ui: { + placeholder: '请输入' + } + }, + orderSn22: { + type: 'string', + title: '关联单号', + ui: { + placeholder: '请输入' + } + }, + orderSn2: { + type: 'string', + title: '交易类型', + enum: [ + { label: '全部', value: '全部' }, + { label: '订单支付', value: '订单支付' }, + { label: '余额充值', value: '余额充值' }, + { label: '余额提现', value: '余额提现' }, + { label: '资金分配', value: '资金分配' }, + { label: '资金回收', value: '资金回收' } + ], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderSn221: { + type: 'string', + title: '收支类型', + enum: [ + { label: '全部', value: '全部' }, + { label: '收入', value: '收入' }, + { label: '支出', value: '支出' } + ], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderS2n221: { + type: 'string', + title: '账户类型', + enum: [ + { label: '全部', value: '全部' }, + { label: '收入', value: '收入' }, + { label: '支出', value: '支出' } + ], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderS2n2221: { + type: 'string', + title: '账户名称', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orderSn221f: { + type: 'string', + title: '所属项目', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + ord1erSn221f: { + type: 'string', + title: '银行类型', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + orde1rSn5221f: { + type: 'string', + title: '网络货运人', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '交易时间', index: 'callNo', width: 150 }, + { title: '流水号', index: 'no', width: 150 }, + { title: '交易类型', index: 'callNo', width: 100 }, + { title: '关联单号', index: 'callNo', width: 150 }, + { title: '账户类型', index: 'callNo', width: 100 }, + { title: '账户名称', index: 'callNo', width: 100 }, + { title: '所属项目', index: 'callNo', width: 100 }, + { title: '收支类型', index: 'callNo', width: 100 }, + { title: '交易金额', index: 'callNo', width: 100 }, + { title: '账户余额', index: 'callNo', width: 100 }, + { title: '网络货运人', index: 'callNo', width: 120 }, + { title: '银行类型', index: 'callNo', width: 100 }, + { title: '银行流水号', index: 'callNo', width: 120 }, + { + title: '操作', + fixed: 'right', + className: 'text-center', + width: 120, + buttons: [ + { + text: '查看回单' + // click: item => this.refund(item) + } + ] + } + ]; + } +} diff --git a/src/app/routes/financial-management/components/voucher-management/voucher-management.component.html b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.html new file mode 100644 index 00000000..6157896d --- /dev/null +++ b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.html @@ -0,0 +1 @@ +

voucher-management works!

diff --git a/src/app/routes/financial-management/components/voucher-management/voucher-management.component.less b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts new file mode 100644 index 00000000..ed46a770 --- /dev/null +++ b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-voucher-management', + templateUrl: './voucher-management.component.html', + styleUrls: ['./voucher-management.component.less'] +}) +export class VoucherManagementComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.html b/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.html new file mode 100644 index 00000000..4ebfe82d --- /dev/null +++ b/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.html @@ -0,0 +1 @@ +

voucher-summary works!

diff --git a/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.less b/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.ts b/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.ts new file mode 100644 index 00000000..52dcef62 --- /dev/null +++ b/src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-voucher-summary', + templateUrl: './voucher-summary.component.html', + styleUrls: ['./voucher-summary.component.less'] +}) +export class VoucherSummaryComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} 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 b6f4d89b..3dbcd78b 100644 --- a/src/app/routes/financial-management/financial-managemen-routing.module.ts +++ b/src/app/routes/financial-management/financial-managemen-routing.module.ts @@ -7,6 +7,10 @@ import { RouterModule, Routes } from '@angular/router'; import { FreightAccountDetailComponent } from './components/freight-account/freight-account-detail/freight-account-detail.component'; import { DriverAccountDetailComponent } from './components/driver-account/driver-account-detail/driver-account-detail.component'; import { WithdrawalsDetailComponent } from './components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; +import { CostManagementComponent } from './components/cost-management/cost-management.component'; +import { AbnormalGoldComponent } from './components/abnormal-gold/abnormal-gold.component'; +import { PaymentRecordComponent } from './components/payment-record/payment-record.component'; +import { TransactionFlowComponent } from './components/transaction-flow/transaction-flow.component'; const routes: Routes = [ { path: 'freight-account', component: FreightAccountComponent }, @@ -16,6 +20,12 @@ const routes: Routes = [ { path: 'recharge-record', component: RechargeRecordComponent }, { path: 'withdrawals-record', component: WithdrawalsRecordComponent }, { path: 'withdrawals-record/detail/:id', component: WithdrawalsDetailComponent }, + // { path: 'voucher-management', component: VoucherManagementComponent }, + // { path: 'voucher-summary', component: VoucherSummaryComponent }, + { path: 'cost-management', component: CostManagementComponent }, + { path: 'abnormal-gold', component: AbnormalGoldComponent }, + { path: 'payment-record', component: PaymentRecordComponent }, + { path: 'transaction-flow', component: TransactionFlowComponent }, ]; @NgModule({ diff --git a/src/app/routes/financial-management/financial-management.module.ts b/src/app/routes/financial-management/financial-management.module.ts index 4b64f8ac..a2621552 100644 --- a/src/app/routes/financial-management/financial-management.module.ts +++ b/src/app/routes/financial-management/financial-management.module.ts @@ -10,16 +10,25 @@ import { FreightAccountDetailComponent } from './components/freight-account/frei import { DriverAccountDetailComponent } from './components/driver-account/driver-account-detail/driver-account-detail.component'; import { SettingFinancialComponent } from './components/main-account/setting-financial/setting-financial.component'; import { WithdrawalsDetailComponent } from './components/withdrawals-record/withdrawals-detail/withdrawals-detail.component'; +import { CostManagementComponent } from './components/cost-management/cost-management.component'; +import { AbnormalGoldComponent } from './components/abnormal-gold/abnormal-gold.component'; +import { PaymentRecordComponent } from './components/payment-record/payment-record.component'; +import { TransactionFlowComponent } from './components/transaction-flow/transaction-flow.component'; +import { ClearingModalComponent } from './components/abnormal-gold/clearing-modal/clearing-modal.component'; const ROUTESCOMPONENTS = [ FreightAccountComponent, DriverAccountComponent, RechargeRecordComponent, WithdrawalsRecordComponent, - WithdrawalsDetailComponent + WithdrawalsDetailComponent, + CostManagementComponent, + AbnormalGoldComponent, + PaymentRecordComponent, + TransactionFlowComponent ]; -const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, SettingFinancialComponent]; +const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, SettingFinancialComponent, ClearingModalComponent]; @NgModule({ declarations: [...ROUTESCOMPONENTS, ...NOTROUTECOMPONENTS], diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 4a33d723..88846c1d 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -251,6 +251,10 @@ "icon": "anticon anticon-dashboard", "group": true, "children": [ + { + "text": "费用管理", + "link": "/financial-management/cost-management" + }, { "text": "货主账户", "link": "/financial-management/freight-account" @@ -281,6 +285,18 @@ "text": "提现详情", "hide": true, "link": "/financial-management/withdrawals-record/detail/:id" + }, + { + "text": "异常入金", + "link": "/financial-management/abnormal-gold" + }, + { + "text": "支付记录", + "link": "/financial-management/payment-record" + }, + { + "text": "交易流水", + "link": "/financial-management/transaction-flow" } ] },