From 9d3a02a6719b9291beb4e0c29e06c80d3add3896 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Thu, 6 Jan 2022 20:52:37 +0800 Subject: [PATCH] edit --- .../cost-management.component.ts | 19 +- ...dd-collection-invoice-modal.component.html | 7 + ...dd-collection-invoice-modal.component.less | 5 + .../add-collection-invoice-modal.component.ts | 102 ++++++++++ .../edit-collection-invoice.component.html | 39 ++++ .../edit-collection-invoice.component.less | 5 + .../edit-collection-invoice.component.ts | 177 ++++++++++++++++++ .../input-invoice.component.html | 2 +- .../input-invoice/input-invoice.component.ts | 13 +- .../invoice-requested-detail.component.ts | 22 +-- .../ticket-management-routing.module.ts | 4 +- .../ticket-management.module.ts | 8 +- src/assets/mocks/menu-data.json | 7 +- 13 files changed, 379 insertions(+), 31 deletions(-) create mode 100644 src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.html create mode 100644 src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.less create mode 100644 src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.ts create mode 100644 src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.html create mode 100644 src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.less create mode 100644 src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.ts 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 index 9dd0d473..8b863b6d 100644 --- 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 @@ -253,17 +253,17 @@ export class CostManagementComponent implements OnInit { { title: '订单号', index: 'billHId', width: 120 }, { title: '运单号', index: 'waybillHId', width: 120 }, { title: '费用日期', index: 'feedate', width: 150 }, - { title: '费用类型', index: 'feetype', width: 100 }, - { title: '应付核销', index: 'ishrhx', width: 100 }, + { title: '费用类型', index: 'feetypeLabel', width: 100 }, + { title: '应付核销', index: 'ishrhx', width: 100, type: 'enum', enum: { 0: '否', 1: '是' } }, { title: '结算客户', index: 'cno', width: 100 }, { title: '应收对象', index: 'artoname', width: 100 }, - { title: '应付对象', render: 'hrtoname', width: 100 }, - { title: '应收金额', render: 'armoeny', width: 100 }, - { title: '应付金额', render: 'hrmoney', width: 100 }, - { title: '收/付款金额', render: 'hrpaymoney', width: 120 }, - { title: '开/收票金额', render: 'hrvatmoney', width: 120 }, + { title: '应付对象', index: 'hrtoname', width: 100 }, + { title: '应收金额', index: 'armoeny', width: 100 }, + { title: '应付金额', index: 'hrmoney', width: 100 }, + { title: '收/付款金额', index: 'hrpaymoney', width: 120 }, + { title: '开/收票金额', index: 'hrvatmoney', width: 120 }, { title: '创建时间', index: 'auditTime', type: 'date', width: 150 }, - { title: '状态', render: 'sts', width: 90 }, + { title: '状态', index: 'stsLabel', width: 90 }, { title: '操作', fixed: 'right', @@ -276,7 +276,8 @@ export class CostManagementComponent implements OnInit { }, { text: '审核', - click: item => this.auditAction(item) + click: item => this.auditAction(item), + iif: item => item.sts === 2 }, { text: '修改', diff --git a/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.html b/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.html new file mode 100644 index 00000000..d5bac178 --- /dev/null +++ b/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.html @@ -0,0 +1,7 @@ +
+ +
+ \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.less b/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.less new file mode 100644 index 00000000..7b4dbb78 --- /dev/null +++ b/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.less @@ -0,0 +1,5 @@ +:host::ng-deep { + nz-date-picker { + width: 100%; + } +} \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.ts b/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.ts new file mode 100644 index 00000000..422930cd --- /dev/null +++ b/src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component.ts @@ -0,0 +1,102 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { SFComponent, SFDateWidgetSchema, 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 { SystemService } from 'src/app/routes/sys-setting/services/system.service'; +import { TicketService } from '../../../services/ticket.service'; + +@Component({ + selector: 'app-add-collection-invoice-modal', + templateUrl: './add-collection-invoice-modal.component.html', + styleUrls: ['./add-collection-invoice-modal.component.less'] +}) +export class AddCollectionInvoiceModalComponent implements OnInit { + @ViewChild('sf', { static: false }) + sf!: SFComponent; + i: any; + schema!: SFSchema; + constructor(private modal: NzModalRef, public msgSrv: NzMessageService, public service: TicketService) {} + + ngOnInit(): void { + this.initSF(); + } + initSF() { + this.schema = { + properties: { + ltdId: { + type: 'string', + title: '网络货运人', + ui: { + widget: 'select', + placeholder: '请选择', + allowClear: true, + asyncData: () => this.service.getNetworkFreightForwarder() + }, + default: '' + }, + ltd2Id: { + type: 'string', + title: '销售方', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择' + }, + default: '' + }, + ltd2I1d: { + type: 'string', + title: '收票类型', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择' + }, + default: '' + }, + createTime: { + title: '发票日期', + type: 'string', + ui: { + widget: 'date', + format: 'yyyy-MM-dd', + placeholder: '请选择', + nzShowTime: true + } as SFDateWidgetSchema + }, + vatinvcode: { + type: 'string', + title: '发票号', + ui: { + placeholder: '请输入' + } + }, + vatinvc2ode: { + type: 'string', + title: '收票备注', + ui: { + placeholder: '请输入' + } + } + }, + required: ['ltdId', 'ltd2Id', 'createTime', 'ltd2I1d', 'vatinvcode'] + }; + } + + sure() { + const params: any = { + ...this.sf.value + }; + // this.service.request(this.service.$api_add_staff, params).subscribe(res => { + // if (res) { + // this.service.msgSrv.success('保存成功!'); + // this.modal.close(true); + // } + // }); + } + + close() { + this.modal.destroy(); + } +} diff --git a/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.html b/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.html new file mode 100644 index 00000000..d4b69d83 --- /dev/null +++ b/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.html @@ -0,0 +1,39 @@ + + + + + + + +
+
+ +
+
+ + +
+
+
+ + +
+
+ +
+
+ + +
+
+
\ No newline at end of file diff --git a/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.less b/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.less new file mode 100644 index 00000000..7b4dbb78 --- /dev/null +++ b/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.less @@ -0,0 +1,5 @@ +:host::ng-deep { + nz-date-picker { + width: 100%; + } +} \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.ts b/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.ts new file mode 100644 index 00000000..6cc0e4b2 --- /dev/null +++ b/src/app/routes/ticket-management/components/input-invoice/edit-collection-invoice/edit-collection-invoice.component.ts @@ -0,0 +1,177 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { Router } from '@angular/router'; +import { STComponent, STColumn } from '@delon/abc/st'; +import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { TicketService } from '../../../services/ticket.service'; + +@Component({ + selector: 'app-edit-collection-invoice', + templateUrl: './edit-collection-invoice.component.html', + styleUrls: ['./edit-collection-invoice.component.less', '../../../../commom/less/box.less', '../../../../commom/less/expend-but.less'] +}) +export class EditCollectionInvoiceComponent implements OnInit { + @ViewChild('st', { static: true }) + st!: STComponent; + @ViewChild('infoSf', { static: false }) + infoSf!: SFComponent; + infoSchema: SFSchema = this.initInfoSF(); + @ViewChild('searchSf', { static: false }) + searchSf!: SFComponent; + searchSchema: SFSchema = this.initSearchSF(); + columns: STColumn[] = this.initST(); + + selectedRows: any[] = []; + _$expand = false; + + constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} + + ngOnInit(): void {} + + goBack() { + history.go(-1); + } + + /** + * 伸缩查询条件 + */ + expandToggle() { + this._$expand = !this._$expand; + this.searchSf?.setValue('/expand', this._$expand); + } + + private initInfoSF(): SFSchema { + return { + properties: { + orderSn: { + type: 'string', + title: '网络货运人', + ui: { + widget: 'text' + }, + default: '天津怡亚通物流科技有限公司' + }, + orde1rSn: { + type: 'string', + title: '销售方', + ui: { + widget: 'text' + }, + default: '天津怡亚通物流科技有限公司' + }, + ord0erSn1: { + type: 'string', + title: '收票类型', + enum: [{ label: '全部', value: '全部' }], + ui: { + widget: 'select', + placeholder: '请选择' + }, + default: '' + }, + orderSn2: { + title: '发票日期', + type: 'string', + ui: { + widget: 'date', + format: 'yyyy-MM-dd', + placeholder: '请选择', + nzShowTime: true + } as SFDateWidgetSchema + }, + orderS3: { + type: 'string', + title: '发票号', + ui: { + placeholder: '请输入' + } + }, + orderSn4: { + type: 'string', + title: '收票备注', + ui: { + placeholder: '请输入' + } + } + }, + required: [''] + }; + } + + private initSearchSF(): SFSchema { + return { + properties: { + expand: { + type: 'boolean', + ui: { + hidden: true + } + }, + orderSn: { + type: 'string', + title: '费用单号', + ui: { + autocomplete: 'off', + placeholder: '请输入' + } + }, + orderS2n: { + type: 'string', + title: '订单号', + ui: { + autocomplete: 'off', + placeholder: '请输入' + } + }, + order2S2n: { + type: 'string', + title: '结算客户', + ui: { + widget: 'dict-select', + params: { dictKey: 'refund:apply:status' }, + placeholder: '请选择' + } + }, + createTime: { + title: '费用日期', + type: 'string', + ui: { + widget: 'sl-from-to-search', + format: 'yyyy-MM-dd', + visibleIf: { + expand: (value: boolean) => value + } + } as SFDateWidgetSchema + }, + createTi2me: { + 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: '', index: 'key', type: 'checkbox' }, + { title: '收票单号', index: 'no', type: 'link' }, + { title: '网络货运人', index: 'no' }, + { title: '发票日期', index: 'no', type: 'date' }, + { title: '发票号', index: 'callNo' }, + { title: '发票金额', index: 'callNo' }, + { title: '税额', render: 'call1No' }, + { title: '发票类型', render: 'call1N2o' }, + { title: '销售方', index: 'callNo' }, + { title: '创建时间', index: 'updatedAt', type: 'date' }, + { title: '创建人', index: 'updatedAt' }, + { title: '收票状态', index: 'updatedAt' } + ]; + } +} diff --git a/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.html b/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.html index 733a8a63..3f6dd33c 100644 --- a/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.html +++ b/src/app/routes/ticket-management/components/input-invoice/input-invoice.component.html @@ -23,7 +23,7 @@
- +
已选择 {{ selectedRows.length }} 张发票 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 f7c34009..bccbad34 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 @@ -4,6 +4,7 @@ import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form'; import { NzModalService } from 'ng-zorro-antd/modal'; import { TicketService } from '../../services/ticket.service'; +import { AddCollectionInvoiceModalComponent } from './add-collection-invoice-modal/add-collection-invoice-modal.component'; @Component({ selector: 'app-input-invoice', @@ -44,14 +45,16 @@ export class InputInvoiceComponent implements OnInit { } } - auditAction() { + addInvoice() { if (this.selectedRows?.length <= 0) { this.service.msgSrv.warning('请选择申请记录'); return; } - const modal = this.nzModalService.warning({ - nzTitle: '确定对已选运单批量申请开票?', - nzOnOk: () => {} + const modal = this.nzModalService.create({ + nzTitle: '收票信息', + nzContent: AddCollectionInvoiceModalComponent, + nzComponentParams: { i: { userId: 0 } }, + nzFooter: null }); } @@ -222,7 +225,7 @@ export class InputInvoiceComponent implements OnInit { }, { text: '修改', - // click: item => this.router.navigate(['']) + click: item => this.router.navigate(['/ticket/input-invoice/edit/1']) } ] } diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts index ff559525..dc5053bf 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested-detail/invoice-requested-detail.component.ts @@ -38,9 +38,7 @@ export class InvoiceRequestedDetailComponent implements OnInit { this.loadHeadInfo(); } - ngOnInit(): void { - console.log(this.route.snapshot) - } + ngOnInit(): void {} loadHeadInfo() { this.service.request(this.service.$api_get_invoice_requested_header_detail, { id: this.id }).subscribe(res => { @@ -71,11 +69,11 @@ export class InvoiceRequestedDetailComponent implements OnInit { } openRequestedModal(status: any) { - if(status === '2' && this.selectedRows.length == 0) { - this.service.msgSrv.warning('请选择订单!') - return + if (status === '2' && this.selectedRows.length == 0) { + this.service.msgSrv.warning('请选择订单!'); + return; } - console.log(this.selectedRows) + console.log(this.selectedRows); const modal = this.nzModalService.create({ nzTitle: '开票', nzContent: RequestedDetailComponent, @@ -84,20 +82,20 @@ export class InvoiceRequestedDetailComponent implements OnInit { i: this.selectedRows, status: status, Id: this.id - }, + }, nzFooter: [ { type: 'default', label: '手工处理', onClick: () => { - console.log('11111') + console.log('11111'); const params = { ficoVatappBillVOList: this.selectedRows, id: this.id - } + }; this.service.request(this.service.$api_get_applyFicoVatinv, params).subscribe((res: any) => { - console.log(res) - }) + console.log(res); + }); modal.destroy(); } }, diff --git a/src/app/routes/ticket-management/ticket-management-routing.module.ts b/src/app/routes/ticket-management/ticket-management-routing.module.ts index 40a64978..55b52986 100644 --- a/src/app/routes/ticket-management/ticket-management-routing.module.ts +++ b/src/app/routes/ticket-management/ticket-management-routing.module.ts @@ -5,6 +5,7 @@ import { ETCBlacklistComponent } from './components/etc-blacklist/etc-blacklist. import { ETCInvoicedListComponent } from './components/etc-invoiced-list/etc-invoiced-list.component'; import { ETCInvoicedLogsComponent } from './components/etc-invoiced-logs/etc-invoiced-logs.component'; import { ETCInvoicedRequestedComponent } from './components/etc-invoiced-requested/etc-invoiced-requested.component'; +import { EditCollectionInvoiceComponent } from './components/input-invoice/edit-collection-invoice/edit-collection-invoice.component'; import { InputInvoiceDetailComponent } from './components/input-invoice/input-invoice-detail/input-invoice-detail.component'; import { InputInvoiceComponent } from './components/input-invoice/input-invoice.component'; import { InvoiceDetailComponent } from './components/invoice-detail/invoice-detail.component'; @@ -24,7 +25,8 @@ const routes: Routes = [ { path: 'etc-invoiced-logs', component: ETCInvoicedLogsComponent }, { path: 'etc-blacklist', component: ETCBlacklistComponent }, { path: 'input-invoice', component: InputInvoiceComponent }, - { path: 'input-invoice/detail/:id', component: InputInvoiceDetailComponent } + { path: 'input-invoice/detail/:id', component: InputInvoiceDetailComponent }, + { path: 'input-invoice/edit/:id', component: EditCollectionInvoiceComponent } ]; @NgModule({ diff --git a/src/app/routes/ticket-management/ticket-management.module.ts b/src/app/routes/ticket-management/ticket-management.module.ts index 5e9e446c..dda8e9af 100644 --- a/src/app/routes/ticket-management/ticket-management.module.ts +++ b/src/app/routes/ticket-management/ticket-management.module.ts @@ -19,6 +19,8 @@ import { AddOwnerComponent } from './components/etc-blacklist/add-owner/add-owne import { AddCartComponent } from './components/etc-blacklist/add-cart/add-cart.component'; import { InputInvoiceComponent } from './components/input-invoice/input-invoice.component'; import { InputInvoiceDetailComponent } from './components/input-invoice/input-invoice-detail/input-invoice-detail.component'; +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'; const COMPONENTS: any = [ ETCInvoicedListComponent, @@ -32,14 +34,16 @@ const COMPONENTS: any = [ CancellationInvoiceComponent, PushInvoiceComponent, InputInvoiceComponent, - InputInvoiceDetailComponent + InputInvoiceDetailComponent, + EditCollectionInvoiceComponent ]; const NOTROUTECOMPONENTS: any = [ TransactionDetailsComponent, RequestedInvoiceModalComponent, RequestedDetailComponent, AddOwnerComponent, - AddCartComponent + AddCartComponent, + AddCollectionInvoiceModalComponent ]; @NgModule({ declarations: [...COMPONENTS, ...NOTROUTECOMPONENTS], diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json index 189ded82..eec84b16 100644 --- a/src/assets/mocks/menu-data.json +++ b/src/assets/mocks/menu-data.json @@ -351,9 +351,14 @@ "link": "/ticket/input-invoice" }, { - "text": "进项发票", + "text": "修改收票信息", "link": "/ticket/input-invoice/detail/:id", "hide": true + }, + { + "text": "进项发票", + "link": "/ticket/input-invoice/edit/:id", + "hide": true } ] },