import { Component, OnInit, ViewChild } from '@angular/core'; import { Router } from '@angular/router'; import { STComponent, STColumn, STChange } from '@delon/abc/st'; import { SFComponent, SFSchema } from '@delon/form'; import { NzModalService } from 'ng-zorro-antd/modal'; import { TicketService } from '../../services/system.service'; import { TransactionDetailsComponent } from './transaction-details/transaction-details.component'; @Component({ selector: 'app-etc-invoiced-list', templateUrl: './etc-invoiced-list.component.html', styleUrls: ['./etc-invoiced-list.component.less'] }) export class ETCInvoicedListComponent implements OnInit { url = `/rule?_allow_anonymous=true`; @ViewChild('st', { static: true }) st!: STComponent; @ViewChild('sf', { static: false }) sf!: SFComponent; columns: STColumn[] = [ { title: '运单号', index: 'no' }, { title: '开票状态', index: 'callNo' }, { title: '业务方', index: 'callNo' }, { title: '业务方税号', index: 'callNo' }, { title: '开票金额', index: 'callNo' }, { title: '发票张数', index: 'callNo' }, { title: '申请时间', index: 'updatedAt', type: 'date' }, { title: '操作', buttons: [ { text: '交易明细', click: item => this.showDetail(item) } ] } ]; searchSchema: SFSchema = { properties: { orderSn: { type: 'string', title: '运单号', ui: { autocomplete: 'off' } }, receiveName: { type: 'string', title: '开票状态', enum: [ { label: '全部', value: '' }, { label: '待受理', value: '待受理' }, { label: '待开票', value: '待开票' }, { label: '开票中', value: '开票中' }, { label: '已开票', value: '已开票' }, { label: '已撤销', value: '已撤销' }, { label: '已拒绝', value: '已拒绝' } ], ui: { widget: 'select', placeholder: '请选择', change: (i: any) => { this.sf.value.receiveName = i; this.sf?.setValue('/receiveName', i); } }, default: '' }, receiveName2: { type: 'string', title: '业务方', enum: [ { label: '全部', value: '' }, { label: '待受理', value: '待受理' }, { label: '待开票', value: '待开票' }, { label: '开票中', value: '开票中' }, { label: '已开票', value: '已开票' }, { label: '已撤销', value: '已撤销' }, { label: '已拒绝', value: '已拒绝' } ], ui: { widget: 'select', placeholder: '请选择', change: (i: any) => { this.sf.value.receiveName = i; this.sf?.setValue('/receiveName', i); } }, default: '' } } }; reqParams = {}; constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} ngOnInit(): void {} stChange(e: STChange): void { switch (e.type) { case 'filter': this.st.load(); break; } } showDetail(item: any) { const modal = this.nzModalService.create({ nzTitle: '运单交易明细', nzContent: TransactionDetailsComponent, nzWidth: 800, nzComponentParams: { data: [] }, nzOnOk: com => { console.log(com.selectedData); }, nzOkText: '导出' }); modal.afterClose.subscribe(res => { this.st.load(); }); } /** * 重置表单 */ resetSF() { this.sf.reset(); } }