From 8e93a648a2ee37fdd84e720c9844a31102a8d424 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Tue, 11 Jan 2022 16:42:26 +0800 Subject: [PATCH 1/3] edit --- .../voucher-management.component.html | 42 +++- .../voucher-management.component.less | 0 .../voucher-management.component.ts | 234 +++++++++++++++++- .../voucher-summary.component.html | 42 +++- .../voucher-summary.component.less | 0 .../voucher-summary.component.ts | 233 ++++++++++++++++- .../financial-managemen-routing.module.ts | 8 +- .../financial-management.module.ts | 6 +- .../etc-blacklist/etc-blacklist.component.ts | 2 +- .../etc-invoiced-list.component.html | 6 +- .../etc-invoiced-list.component.ts | 36 +-- .../input-invoice-detail.component.html | 2 +- .../input-invoice/input-invoice.component.ts | 6 +- .../invoice-requested.component.html | 2 + .../invoice-requested.component.ts | 52 +++- .../print-order-modal.component.html | 48 ++++ .../print-order-modal.component.less | 7 + .../print-order-modal.component.ts | 76 ++++++ .../services/ticket.service.ts | 10 +- .../ticket-management.module.ts | 3 +- src/assets/mocks/menu-data.json | 8 + 21 files changed, 778 insertions(+), 45 deletions(-) delete mode 100644 src/app/routes/financial-management/components/voucher-management/voucher-management.component.less delete mode 100644 src/app/routes/financial-management/components/voucher-summary/voucher-summary.component.less create mode 100644 src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.html create mode 100644 src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.less create mode 100644 src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.ts 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 index 6157896d..73f510c3 100644 --- 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 @@ -1 +1,41 @@ -

voucher-management works!

+ + + + +
+
+ +
+
+ + + + + +
+
+
+ + + +
+ +
+ 已选择 + {{ selectedRows.length }} 张发票 + 清空 +
+
+ + + +
\ No newline at end of file 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 deleted file mode 100644 index e69de29b..00000000 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 index ed46a770..e115af1f 100644 --- 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 @@ -1,15 +1,241 @@ -import { Component, OnInit } from '@angular/core'; +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 { ShipperBaseService } from '@shared'; +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 { FreightAccountService } from '../../services/freight-account.service'; @Component({ selector: 'app-voucher-management', templateUrl: './voucher-management.component.html', - styleUrls: ['./voucher-management.component.less'] + styleUrls: ['../../../commom/less/box.less'] }) export class VoucherManagementComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + @ViewChild('auditModal', { static: false }) + auditModal!: any; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); - constructor() { } + _$expand = false; - ngOnInit(): void { + selectedRows: any[] = []; + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + Object.assign(requestOptions.body, { + ...this.sf.value, + createtime: { + start: this.sf.value.createtime?.[0] || null, + end: this.sf.value.createtime?.[1] || null + }, + invdate: { + start: this.sf.value.invdate?.[0] || null, + end: this.sf.value.invdate?.[1] || null + } + }); + } + return requestOptions; + }; + + stChange(e: STChange): void { + switch (e.type) { + case 'checkbox': + this.selectedRows = e.checkbox!; + break; + } } + addInvoice() { + if (this.selectedRows?.length <= 0) { + this.service.msgSrv.warning('请选择申请记录'); + return; + } + const modal = this.nzModalService.create({ + nzTitle: '收票信息', + nzContent: AddCollectionInvoiceModalComponent, + nzComponentParams: { i: { userId: 0 } }, + nzFooter: null + }); + } + + /** + * 重置表单 + */ + 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 + } + }, + inpinvcode: { + type: 'string', + title: '凭证号', + ui: { + autocomplete: 'off', + placeholder: '请输入' + } + }, + ltdid: { + type: 'string', + title: '网络货运人', + ui: { + widget: 'select', + placeholder: '请选择', + allowClear: true, + asyncData: () => this.service.getNetworkFreightForwarder() + }, + default: '' + }, + invoiceno: { + type: 'string', + title: '发票号码', + ui: { + autocomplete: 'off', + placeholder: '请输入' + } + }, + invtype: { + type: 'string', + title: '发票类型', + ui: { + widget: 'dict-select', + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + hrto: { + type: 'string', + title: '销售方', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + createtime: { + title: '创建时间', + type: 'string', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + }, + sts: { + type: 'string', + title: '收票状态', + ui: { + widget: 'dict-select', + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + invdate: { + type: 'string', + title: '发票日期', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + remarks: { + type: 'string', + title: '收票备注', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + billCode: { + type: 'string', + title: '订单号', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + feecode: { + type: 'string', + title: '费用号', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '', index: 'key', type: 'checkbox' }, + { title: '收票单号', index: 'inpinvcode', type: 'link' }, + { title: '网络货运人', index: 'ltdid' }, + { title: '发票日期', index: 'invdate', type: 'date' }, + { title: '发票号', index: 'invoiceno' }, + { title: '发票金额', index: 'invmoney' }, + { title: '税额', index: 'invtax' }, + { title: '发票类型', index: 'invtype' }, + { title: '销售方', index: 'hrto' }, + { title: '创建时间', index: 'createtime', type: 'date' }, + { title: '创建人', index: 'createbyname' }, + { title: '收票状态', index: 'sts' }, + { + title: '操作', + buttons: [ + { + text: '浏览', + click: item => this.router.navigate(['/ticket/input-invoice/detail/' + item.id]) + }, + { + text: '修改', + click: item => this.router.navigate(['/ticket/input-invoice/edit/1']) + } + ] + } + ]; + } } 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 index 4ebfe82d..165281c4 100644 --- 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 @@ -1 +1,41 @@ -

voucher-summary works!

+ + + + +
+
+ +
+
+ + + + +
+
+
+ + + +
+ +
+ 已选择 + {{ selectedRows.length }} 张发票 + 清空 +
+
+ + + +
\ No newline at end of file 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 deleted file mode 100644 index e69de29b..00000000 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 index 52dcef62..8318ebe9 100644 --- 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 @@ -1,15 +1,240 @@ -import { Component, OnInit } from '@angular/core'; +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 { FreightAccountService } from '../../services/freight-account.service'; @Component({ selector: 'app-voucher-summary', templateUrl: './voucher-summary.component.html', - styleUrls: ['./voucher-summary.component.less'] + styleUrls: ['../../../commom/less/box.less'] }) export class VoucherSummaryComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('sf', { static: false }) + sf!: SFComponent; + @ViewChild('auditModal', { static: false }) + auditModal!: any; + columns: STColumn[] = this.initST(); + searchSchema: SFSchema = this.initSF(); - constructor() { } + _$expand = false; - ngOnInit(): void { + selectedRows: any[] = []; + constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + beforeReq = (requestOptions: STRequestOptions) => { + if (this.sf) { + Object.assign(requestOptions.body, { + ...this.sf.value, + createtime: { + start: this.sf.value.createtime?.[0] || null, + end: this.sf.value.createtime?.[1] || null + }, + invdate: { + start: this.sf.value.invdate?.[0] || null, + end: this.sf.value.invdate?.[1] || null + } + }); + } + return requestOptions; + }; + + stChange(e: STChange): void { + switch (e.type) { + case 'checkbox': + this.selectedRows = e.checkbox!; + break; + } } + addInvoice() { + if (this.selectedRows?.length <= 0) { + this.service.msgSrv.warning('请选择申请记录'); + return; + } + const modal = this.nzModalService.create({ + nzTitle: '收票信息', + nzContent: AddCollectionInvoiceModalComponent, + nzComponentParams: { i: { userId: 0 } }, + nzFooter: null + }); + } + + /** + * 重置表单 + */ + 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 + } + }, + inpinvcode: { + type: 'string', + title: '收票单号', + ui: { + autocomplete: 'off', + placeholder: '请输入' + } + }, + ltdid: { + type: 'string', + title: '网络货运人', + ui: { + widget: 'select', + placeholder: '请选择', + allowClear: true, + asyncData: () => this.service.getNetworkFreightForwarder() + }, + default: '' + }, + invoiceno: { + type: 'string', + title: '发票号码', + ui: { + autocomplete: 'off', + placeholder: '请输入' + } + }, + invtype: { + type: 'string', + title: '发票类型', + ui: { + widget: 'dict-select', + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + hrto: { + type: 'string', + title: '销售方', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + createtime: { + title: '创建时间', + type: 'string', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + }, + sts: { + type: 'string', + title: '收票状态', + ui: { + widget: 'dict-select', + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + invdate: { + type: 'string', + title: '发票日期', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + remarks: { + type: 'string', + title: '收票备注', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + billCode: { + type: 'string', + title: '订单号', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + }, + feecode: { + type: 'string', + title: '费用号', + ui: { + placeholder: '请输入', + visibleIf: { + expand: (value: boolean) => value + } + } + } + } + }; + } + + private initST(): STColumn[] { + return [ + { title: '', index: 'key', type: 'checkbox' }, + { title: '收票单号', index: 'inpinvcode', type: 'link' }, + { title: '网络货运人', index: 'ltdid' }, + { title: '发票日期', index: 'invdate', type: 'date' }, + { title: '发票号', index: 'invoiceno' }, + { title: '发票金额', index: 'invmoney' }, + { title: '税额', index: 'invtax' }, + { title: '发票类型', index: 'invtype' }, + { title: '销售方', index: 'hrto' }, + { title: '创建时间', index: 'createtime', type: 'date' }, + { title: '创建人', index: 'createbyname' }, + { title: '收票状态', index: 'sts' }, + { + title: '操作', + buttons: [ + { + text: '浏览', + click: item => this.router.navigate(['/ticket/input-invoice/detail/' + item.id]) + }, + { + text: '修改', + click: item => this.router.navigate(['/ticket/input-invoice/edit/1']) + } + ] + } + ]; + } } 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 e74520e2..22c312d0 100644 --- a/src/app/routes/financial-management/financial-managemen-routing.module.ts +++ b/src/app/routes/financial-management/financial-managemen-routing.module.ts @@ -16,6 +16,8 @@ import { ExpensesReceivableComponent } from './components/cost-management/expens import { ExpensesPayableComponent } from './components/cost-management/expenses-payable/expenses-payable.component'; import { PaymentOrderComponent } from './components/payment-order/payment-order.component'; 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'; const routes: Routes = [ { path: 'freight-account', component: FreightAccountComponent }, @@ -25,8 +27,8 @@ 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: 'voucher-management', component: VoucherManagementComponent }, + { path: 'voucher-summary', component: VoucherSummaryComponent }, { path: 'cost-management', component: CostManagementComponent }, { path: 'cost-management/detail/:id', component: CostManagementDetailComponent }, { path: 'cost-management/expenses-receivable/:id', component: ExpensesReceivableComponent }, @@ -35,7 +37,7 @@ 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 } ]; @NgModule({ diff --git a/src/app/routes/financial-management/financial-management.module.ts b/src/app/routes/financial-management/financial-management.module.ts index 182b25a3..34f5480c 100644 --- a/src/app/routes/financial-management/financial-management.module.ts +++ b/src/app/routes/financial-management/financial-management.module.ts @@ -20,6 +20,8 @@ import { ExpensesReceivableComponent } from './components/cost-management/expens import { ExpensesPayableComponent } from './components/cost-management/expenses-payable/expenses-payable.component'; import { PaymentOrderComponent } from './components/payment-order/payment-order.component'; 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'; const ROUTESCOMPONENTS = [ FreightAccountComponent, @@ -35,7 +37,9 @@ const ROUTESCOMPONENTS = [ ExpensesReceivableComponent, ExpensesPayableComponent, PaymentOrderComponent, - ReceiptOrderComponent + ReceiptOrderComponent, + VoucherManagementComponent, + VoucherSummaryComponent ]; const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, SettingFinancialComponent, ClearingModalComponent]; diff --git a/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts b/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts index 0189e429..c38f3c27 100644 --- a/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts +++ b/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts @@ -122,7 +122,7 @@ export class ETCBlacklistComponent implements OnInit { return false; } const ids = com.selectedData.map(node => node.carId); - this.service.request(this.service.$api_save_etc_shipper, { carIds: ids }).subscribe(res => { + this.service.request(this.service.$api_save_etc_cart, { carIds: ids }).subscribe(res => { if (res) { this.service.msgSrv.success('添加成功'); modal.destroy(); diff --git a/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.html b/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.html index 1681af33..cbe66870 100644 --- a/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.html +++ b/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.html @@ -22,16 +22,16 @@ - - 张三
13812345678 + {{item.driverName}}
{{item.driverTelephone}}
- 粤B88888
张三 + {{item.licenseCarNo}}
{{item.licenseBelonging}}
\ No newline at end of file diff --git a/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts b/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts index ff3c66dc..10f55e9e 100644 --- a/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts +++ b/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts @@ -74,21 +74,21 @@ export class ETCInvoicedListComponent implements OnInit { hidden: true } }, - orderSn: { + wayBillCode: { type: 'string', title: '运单号', ui: { autocomplete: 'off' } }, - order2Sn: { + billCode: { type: 'string', title: '订单号', ui: { autocomplete: 'off' } }, - order2S2n: { + billType: { type: 'string', title: '订单类型', ui: { @@ -97,12 +97,12 @@ export class ETCInvoicedListComponent implements OnInit { placeholder: '请选择' } }, - receiveName: { + invoicingStatus: { type: 'string', title: '开票状态', ui: { widget: 'dict-select', - params: { dictKey: 'refund:apply:status' }, + params: { dictKey: 'etc:invoicing:status' }, placeholder: '请选择', visibleIf: { expand: (value: boolean) => value @@ -110,7 +110,7 @@ export class ETCInvoicedListComponent implements OnInit { }, default: '' }, - receiveName2: { + shipperId: { type: 'string', title: '托运人', enum: [{ label: '全部', value: '' }], @@ -123,7 +123,7 @@ export class ETCInvoicedListComponent implements OnInit { }, default: '' }, - ltdId: { + enterpriseInfoId: { type: 'string', title: '网络货运人', ui: { @@ -143,19 +143,19 @@ export class ETCInvoicedListComponent implements OnInit { private initST(): STColumn[] { return [ - { title: '运单号', index: 'no' }, - { title: '订单号', index: 'no' }, - { title: '开票状态', index: 'callNo' }, - { title: '订单类型', index: 'callNo' }, - { title: '装货地', index: 'callNo' }, - { title: '卸货地', index: 'callNo' }, + { title: '运单号', index: 'wayBillCode' }, + { title: '订单号', index: 'billCode' }, + { title: '开票状态', index: 'invoicingStatus', type: 'enum', enum: { '0': '待开票', '1': '开票中', '2': '已开票', '3': '开票失败' } }, + { title: '订单类型', index: 'billType' }, + { title: '装货地', index: 'loadingPlace' }, + { title: '卸货地', index: 'dischargePlace' }, { title: '司机信息', render: 'call1No' }, { title: '车辆信息', render: 'call12No' }, - { title: '托运人', index: 'callNo' }, - { title: '网络货运人', index: 'callNo' }, - { title: '开票金额', index: 'callNo' }, - { title: '开票张数', index: 'callNo' }, - { title: '申请时间', index: 'updatedAt', type: 'date' }, + { title: '托运人', index: 'shipperAppUserName' }, + { title: '网络货运人', index: 'enterpriseInfoName' }, + { title: '开票金额', index: 'invoicingAmount' }, + { title: '开票张数', index: 'invoicingNumber' }, + { title: '申请时间', index: 'orderReceivingTime', type: 'date' }, { title: '操作', buttons: [ diff --git a/src/app/routes/ticket-management/components/input-invoice/input-invoice-detail/input-invoice-detail.component.html b/src/app/routes/ticket-management/components/input-invoice/input-invoice-detail/input-invoice-detail.component.html index 7bd3ac08..5a8361dd 100644 --- a/src/app/routes/ticket-management/components/input-invoice/input-invoice-detail/input-invoice-detail.component.html +++ b/src/app/routes/ticket-management/components/input-invoice/input-invoice-detail/input-invoice-detail.component.html @@ -18,7 +18,7 @@
- {{headerInfo?.hrto}} + {{headerInfo?.hrtoName}} {{headerInfo?.invoiceno}} diff --git a/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.ts b/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.ts index 995ad392..c9814980 100644 --- a/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.ts +++ b/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.ts @@ -212,16 +212,16 @@ export class InputInvoiceComponent implements OnInit { return [ { title: '', index: 'key', type: 'checkbox' }, { title: '收票单号', index: 'inpinvcode', type: 'link' }, - { title: '网络货运人', index: 'ltdid' }, + { title: '网络货运人', index: 'ltdName' }, { title: '发票日期', index: 'invdate', type: 'date' }, { title: '发票号', index: 'invoiceno' }, { title: '发票金额', index: 'invmoney' }, { title: '税额', index: 'invtax' }, { title: '发票类型', index: 'invtype' }, - { title: '销售方', index: 'hrto' }, + { title: '销售方', index: 'hrtoName' }, { title: '创建时间', index: 'createtime', type: 'date' }, { title: '创建人', index: 'createbyname' }, - { title: '收票状态', index: 'sts' }, + { title: '收票状态', index: 'stsLabel' }, { title: '操作', buttons: [ diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html index 139838df..941e92f6 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html @@ -47,6 +47,8 @@
+ + diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts index fe20cc39..3a0b8fcf 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts @@ -6,6 +6,7 @@ import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema } from '@delon/fo import { NzMessageService } from 'ng-zorro-antd/message'; import { NzModalService } from 'ng-zorro-antd/modal'; import { TicketService } from '../../services/ticket.service'; +import { PrintOrderModalComponent } from './print-order-modal/print-order-modal.component'; import { RequestedInvoiceModalComponent } from './requested-invoice-modal/requested-invoice-modal.component'; @Component({ @@ -83,6 +84,51 @@ export class InvoiceRequestedComponent implements OnInit { }); } + changePice(item: any[]) { + const modal = this.nzModalService.create({ + nzTitle: '驳回', + nzContent: this.rejectModal, + nzFooter: [ + { + label: '拒绝', + type: 'default', + onClick: () => { + modal.destroy(); + } + }, + { + label: '通过', + type: 'primary', + onClick: () => { + modal.destroy(); + } + } + ] + }); + modal.afterClose.subscribe(res => { + this.st.load(); + }); + } + + printOrder(item: any[]) { + if (this.selectedRows?.length <= 0) { + this.service.msgSrv.warning('请选择订单'); + return; + } + const modal = this.nzModalService.create({ + nzTitle: '打印面单', + nzContent: PrintOrderModalComponent, + nzWidth: 650, + nzComponentParams: { vatappcodes: this.selectedRows.map(item => item.vatappcode) }, + nzFooter: null + }); + modal.afterClose.subscribe(res => { + if (res) { + this.st.load(); + } + }); + } + showReason(item: any) { const modal = this.nzModalService.create({ nzTitle: '查看原因', @@ -117,12 +163,10 @@ export class InvoiceRequestedComponent implements OnInit { // id: this.id }; this.service.request(this.service.$api_get_applyBatchFicoVatinv, params).subscribe((res: any) => { - console.log(res); if (res) { this.service.msgSrv.success('开票成功!'); modal.destroy(); - } else { - this.service.msgSrv.error(res?.msg); + this.st.load(1); } }); } @@ -139,6 +183,7 @@ export class InvoiceRequestedComponent implements OnInit { if (res) { this.service.msgSrv.success('开票成功!'); modal.destroy(); + this.st.load(1); } }); } @@ -318,6 +363,7 @@ export class InvoiceRequestedComponent implements OnInit { { title: '其他要求', index: 'otherremarks', width: 100 }, { title: '申请人', index: 'applyName', width: 90 }, { title: '申请时间', index: 'applyTime', type: 'date', width: 150 }, + { title: '快递是否下单成功', index: 'expressHSts', width: 150, type: 'enum', enum: { true: '是', false: '否' } }, { title: '操作', width: 150, diff --git a/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.html b/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.html new file mode 100644 index 00000000..119c6269 --- /dev/null +++ b/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.html @@ -0,0 +1,48 @@ +
+
+ + + + + + + + {{type===1?'分批下单系统会根据网络货运人、货主以及收件地址自动拆分成多个包裹下单':'汇总下单系统会将所选申请单汇总成一个包裹下单'}} + + + + + + {{item.contact}}      {{item.tel}}
+ {{item.province}} {{item.city}} {{item.county}} {{item.address}} +
+
+ + {{data.rcontactInfo.contact}}      {{data.rcontactInfo.tel}}
+ {{data.rcontactInfo.province}} {{data.rcontactInfo.city}} {{data.rcontactInfo.county}} + {{data.rcontactInfo.address}} +
+
+ + + + {{item.contact}}      {{item.tel}}
+ {{item.province}} {{item.city}} {{item.county}} {{item.address}} +
+
+ + {{data.scontactInfo.contact}}      {{data.scontactInfo.tel}}
+ {{data.scontactInfo.province}} {{data.scontactInfo.city}} {{data.scontactInfo.county}} + {{data.scontactInfo.address}} +
+
+
+ +
+
+ \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.less b/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.less new file mode 100644 index 00000000..d08fba0d --- /dev/null +++ b/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.less @@ -0,0 +1,7 @@ +nz-select-top-control { + height: 65px !important; +} + +cdk-virtual-scroll-viewport { + height: 100px !important; +} \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.ts b/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.ts new file mode 100644 index 00000000..c74b9a86 --- /dev/null +++ b/src/app/routes/ticket-management/components/invoice-requested/print-order-modal/print-order-modal.component.ts @@ -0,0 +1,76 @@ +import { Component, Input, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; +import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzModalRef } from 'ng-zorro-antd/modal'; +import { map } from 'rxjs/operators'; +import { TicketService } from '../../../services/ticket.service'; + +@Component({ + selector: 'app-print-order-modal', + templateUrl: './print-order-modal.component.html', + styleUrls: ['./print-order-modal.component.less'], + encapsulation: ViewEncapsulation.None +}) +export class PrintOrderModalComponent implements OnInit { + data: any = {}; + + type = 1; + + rcontactInfos: any[] = []; + scontactInfos: any[] = []; + + @Input() + vatappcodes: string[] = []; + + constructor(private modal: NzModalRef, public msgSrv: NzMessageService, public service: TicketService) {} + + ngOnInit(): void { + this.loadAddress(); + } + + loadAddress() { + this.service.request(this.service.$api_get_order_summary_path, this.vatappcodes).subscribe(res => { + if (res) { + this.rcontactInfos = res.rcontactInfos || []; + this.scontactInfos = res.scontactInfos || []; + } + }); + } + + sure() { + console.log(this.data); + if (this.type === 1) { + this.service.request(this.service.$api_create_express, this.vatappcodes).subscribe(res => { + if (res) { + this.service.msgSrv.success('操作成功'); + this.modal.destroy(true); + } + }); + } else { + if (!this.data.rcontactInfo || !this.data.scontactInfo) { + this.service.msgSrv.warning('请选择收件地址和寄件地'); + return; + } + const params = { + rcontactInfo: this.data.rcontactInfo, + ltdId: this.data.scontactInfo.ltdId, + shipperId: this.data.scontactInfo.shipperId, + vatappcodes: this.vatappcodes, + scontactInfo: this.data.scontactInfo + }; + delete this.data.scontactInfo.ltdId; + delete this.data.scontactInfo.shipperId; + delete this.data.scontactInfo.id; + this.service.request(this.service.$api_get_order_summary, params).subscribe(res => { + if (res) { + this.service.msgSrv.success('操作成功'); + this.modal.destroy(true); + } + }); + } + } + + close() { + this.modal.destroy(); + } +} diff --git a/src/app/routes/ticket-management/services/ticket.service.ts b/src/app/routes/ticket-management/services/ticket.service.ts index e7c53c5c..b3e84964 100644 --- a/src/app/routes/ticket-management/services/ticket.service.ts +++ b/src/app/routes/ticket-management/services/ticket.service.ts @@ -27,6 +27,12 @@ export class TicketService extends ShipperBaseService { $api_ficoVatinvHList = '/api/fcc/ficoVatinvH/ficoVatinvHList'; // 运营端销票处理-订单明细页面 $api_ficoVatinvDetailAll = '/api/fcc/ficoVatinvH/ficoVatinvDetailAll'; + // 获取汇总下单路径 + $api_get_order_summary_path = '/api/fcc/ficoExpressH/getSummaryOrderAddress'; + // 新建快递单 + $api_create_express = '/api/fcc/ficoExpressH/save'; + // 获取汇总下单 + $api_get_order_summary = '/api/fcc/ficoExpressH/summaryOrder'; // 已开发票查询 $api_get_invoice_page = '/api/fcc/ficoVatinvH/list/page'; @@ -66,11 +72,13 @@ export class TicketService extends ShipperBaseService { // ETC申请开票界面查询 $api_get_apply_invoice_page = '/api/sdc/invoiceEtcOperate/list/listEtcApplyPageList'; + // ETC开票记录界面查询 + $api_get_invoice_record_page = '/api/sdc/invoiceEtcOperate/list/listEtcRecordPageList'; // 进项发票查询 $api_get_input_invoice_page = '/api/fcc/ficoInpinvH/getListPage'; // 根据ID获取进项发票详情 - $api_get_input_invoice_header = '/api/fcc/ficoInpinvH/get'; + $api_get_input_invoice_header = '/api/fcc/ficoInpinvH/getFicoInpinvHByid'; // 查询进项发票明细 $api_get_input_invoice_detail_page = '/api/fcc/ficoInpinvL/list/page'; diff --git a/src/app/routes/ticket-management/ticket-management.module.ts b/src/app/routes/ticket-management/ticket-management.module.ts index 5f560411..92e24cec 100644 --- a/src/app/routes/ticket-management/ticket-management.module.ts +++ b/src/app/routes/ticket-management/ticket-management.module.ts @@ -22,6 +22,7 @@ import { InputInvoiceDetailComponent } from './components/input-invoice/input-in import { AddCollectionInvoiceModalComponent } from './components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component'; import { EditCollectionInvoiceComponent } from './components/input-invoice/edit-collection-invoice/edit-collection-invoice.component'; import { AddCostDetailComponent } from './components/input-invoice/add-cost-detail/add-cost-detail.component'; +import { PrintOrderModalComponent } from './components/invoice-requested/print-order-modal/print-order-modal.component'; const COMPONENTS: any = [ ETCInvoicedListComponent, @@ -48,7 +49,7 @@ const NOTROUTECOMPONENTS: any = [ AddCostDetailComponent ]; @NgModule({ - declarations: [...COMPONENTS, ...NOTROUTECOMPONENTS], + declarations: [...COMPONENTS, ...NOTROUTECOMPONENTS, PrintOrderModalComponent], imports: [CommonModule, TicketManagementRoutingModule, SharedModule] }) export class TicketManagementModule {} diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 2df6f1a0..89329db4 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -233,6 +233,14 @@ "hide": true, "link": "/financial-management/cost-management/detail/:id" }, + { + "text": "凭证管理", + "link": "/financial-management/voucher-management" + }, + { + "text": "凭证汇总", + "link": "/financial-management/voucher-summary" + }, { "text": "应收费用单", "hide": true, From 43f6a81f2c0389e91e1152765467d5fdc6333ce3 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Tue, 11 Jan 2022 16:50:52 +0800 Subject: [PATCH 2/3] edit --- .../etc-invoiced-requested.component.ts | 14 +++++++++++++- .../ticket-management/services/ticket.service.ts | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/app/routes/ticket-management/components/etc-invoiced-requested/etc-invoiced-requested.component.ts b/src/app/routes/ticket-management/components/etc-invoiced-requested/etc-invoiced-requested.component.ts index 9a9940fc..aef3cf9d 100644 --- a/src/app/routes/ticket-management/components/etc-invoiced-requested/etc-invoiced-requested.component.ts +++ b/src/app/routes/ticket-management/components/etc-invoiced-requested/etc-invoiced-requested.component.ts @@ -51,7 +51,19 @@ export class ETCInvoicedRequestedComponent implements OnInit { } const modal = this.nzModalService.warning({ nzTitle: '确定对已选运单批量申请开票?', - nzOnOk: () => {} + nzOnOk: () => { + this.service + .request(this.service.$api_get_apply_invoice, { wayBillIds: this.selectedRows.map(item => item.id) }, 'POST', false) + .subscribe(res => { + if (res) { + this.service.msgSrv.success('申请开票成功'); + modal.destroy(); + this.st.load(1); + } + }); + + return false; + } }); } diff --git a/src/app/routes/ticket-management/services/ticket.service.ts b/src/app/routes/ticket-management/services/ticket.service.ts index b3e84964..92187439 100644 --- a/src/app/routes/ticket-management/services/ticket.service.ts +++ b/src/app/routes/ticket-management/services/ticket.service.ts @@ -72,6 +72,8 @@ export class TicketService extends ShipperBaseService { // ETC申请开票界面查询 $api_get_apply_invoice_page = '/api/sdc/invoiceEtcOperate/list/listEtcApplyPageList'; + // ETC开票申请 + $api_get_apply_invoice = '/api/sdc/invoiceEtcOperate/applyForInvoicingBatch'; // ETC开票记录界面查询 $api_get_invoice_record_page = '/api/sdc/invoiceEtcOperate/list/listEtcRecordPageList'; From a69bdc3c60b668ea24c867d2ff3dff2e8570162d Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Tue, 11 Jan 2022 17:04:39 +0800 Subject: [PATCH 3/3] edit --- .../etc-invoiced-logs.component.less | 38 ------------------- .../invoice-requested.component.html | 2 +- .../invoice-requested.component.ts | 8 ++++ 3 files changed, 9 insertions(+), 39 deletions(-) delete mode 100644 src/app/routes/ticket-management/components/etc-invoiced-logs/etc-invoiced-logs.component.less diff --git a/src/app/routes/ticket-management/components/etc-invoiced-logs/etc-invoiced-logs.component.less b/src/app/routes/ticket-management/components/etc-invoiced-logs/etc-invoiced-logs.component.less deleted file mode 100644 index 528ee028..00000000 --- a/src/app/routes/ticket-management/components/etc-invoiced-logs/etc-invoiced-logs.component.less +++ /dev/null @@ -1,38 +0,0 @@ -: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: 900px) { - .expend-options { - margin-top: -40px; - max-width : 400px; - position : absolute; - right : 0; - bottom : 30px; - } - -} \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html index 941e92f6..7130e1c8 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.html @@ -54,7 +54,7 @@ diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts index 3a0b8fcf..56c46ac8 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts @@ -3,6 +3,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { Router } from '@angular/router'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema } from '@delon/form'; +import { isTemplateRef } from 'ng-zorro-antd/core/util'; import { NzMessageService } from 'ng-zorro-antd/message'; import { NzModalService } from 'ng-zorro-antd/modal'; import { TicketService } from '../../services/ticket.service'; @@ -49,6 +50,13 @@ export class InvoiceRequestedComponent implements OnInit { return requestOptions; }; + afterRes = (data: any[], rawData?: any) => { + return data.map(item => ({ + ...item, + disabled: item.expressHSts + })); + }; + stChange(e: STChange): void { switch (e.type) { case 'checkbox':