This commit is contained in:
Taric Xin
2022-05-06 14:24:12 +08:00
parent 2c8f8250e4
commit 1851f9e6d8
25 changed files with 409 additions and 637 deletions

View File

@ -1,9 +1,8 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared'; import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom'; import { BasicTableComponent } from 'src/app/routes/commom';
import { FreightAccountService } from '../../services/freight-account.service'; import { FreightAccountService } from '../../services/freight-account.service';
@ -12,7 +11,7 @@ import { FreightAccountService } from '../../services/freight-account.service';
templateUrl: './voucher-management.component.html', templateUrl: './voucher-management.component.html',
styleUrls: ['../../../commom/less/commom-table.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class VoucherManagementComponent extends BasicTableComponent implements OnInit { export class VoucherManagementComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('auditModal', { static: false }) @ViewChild('auditModal', { static: false })
@ -25,8 +24,6 @@ export class VoucherManagementComponent extends BasicTableComponent implements O
super(searchDrawerService); super(searchDrawerService);
} }
ngOnInit(): void {}
search() { search() {
this.st?.load(1); this.st?.load(1);
} }

View File

@ -66,8 +66,10 @@
<a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a>
</div> </div>
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button> <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exprot()"> 导出</button> <button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['FINANCIAL-WITHDRAWALS-export']">
<button nz-button (click)="this.auditAction(null)">审核</button> 导出</button>
<button nz-button (click)="this.auditAction(null)" acl
[acl-ability]="['FINANCIAL-WITHDRAWALS-audit']">审核</button>
</div> </div>
</ng-template> </ng-template>

View File

@ -1,7 +1,7 @@
import { Component, ViewChild } from '@angular/core'; import { Component, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared'; import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom'; import { BasicTableComponent } from 'src/app/routes/commom';
@ -48,7 +48,7 @@ export class WithdrawalsRecordComponent extends BasicTableComponent {
createTime: { createTime: {
start: this.sf?.value.createTime?.[0] || '', start: this.sf?.value.createTime?.[0] || '',
end: this.sf?.value.createTime?.[1] || '' end: this.sf?.value.createTime?.[1] || ''
}, }
}); });
} }
delete requestOptions?.body?.expand; delete requestOptions?.body?.expand;
@ -187,13 +187,13 @@ export class WithdrawalsRecordComponent extends BasicTableComponent {
type: 'string', type: 'string',
title: '账户类型', title: '账户类型',
enum: [ enum: [
{label: '全部', value: ''}, { label: '全部', value: '' },
{label: '个人合伙人', value: '4'}, { label: '个人合伙人', value: '4' },
{label: '企业合伙人', value: '5'} { label: '企业合伙人', value: '5' }
], ],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择'
} }
}, },
ltdId: { ltdId: {

View File

@ -1,7 +1,5 @@
<page-header-wrapper [title]="'可开票订单'"> <!-- <page-header-wrapper [title]="'可开票订单'">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
@ -20,11 +18,20 @@
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="content-box" nzBordered> <nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 可开票订单</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['FINANCIAL-VOUCHER-list']">筛选</button>
<button nz-button nzDanger (click)="export()" acl
[acl-ability]="['TICKET-BILLING-ORDER-exprort']">导出</button>
</div>
</div>
<st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px' }"> [loading]="false" [scroll]="{ x:'1200px',y:scrollY }">
<ng-template st-row="sts" let-item let-index="index"> <ng-template st-row="sts" let-item let-index="index">
<span *ngIf="item.sts === '1'">待受理</span> <span *ngIf="item.sts === '1'">待受理</span>
<span *ngIf="item.sts === '2'">处理中</span> <span *ngIf="item.sts === '2'">处理中</span>

View File

@ -2,27 +2,29 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema } from '@delon/form'; import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
@Component({ @Component({
selector: 'app-billing-order', selector: 'app-billing-order',
templateUrl: './billing-order.component.html', templateUrl: './billing-order.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class BillingOrderComponent implements OnInit { export class BillingOrderComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false; constructor(public service: TicketService, private router: Router, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService);
}
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router, private ar: ActivatedRoute) {} search() {
this.st?.load(1);
ngOnInit(): void {} }
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
@ -38,22 +40,6 @@ export class BillingOrderComponent implements OnInit {
this.router.navigateByUrl(`/order-management/vehicle/vehicle-detail/${item.billId}`); this.router.navigateByUrl(`/order-management/vehicle/vehicle-detail/${item.billId}`);
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
export() { export() {
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_InvoicedBillInfoPage); this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_InvoicedBillInfoPage);
} }
@ -118,20 +104,14 @@ export class BillingOrderComponent implements OnInit {
type: 'string', type: 'string',
title: '申请编号', title: '申请编号',
ui: { ui: {
autocomplete: 'off', autocomplete: 'off'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
vatinvcode: { vatinvcode: {
type: 'string', type: 'string',
title: '分票编号', title: '分票编号',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
vatappdate: { vatappdate: {
@ -140,10 +120,7 @@ export class BillingOrderComponent implements OnInit {
ui: { ui: {
widget: 'sl-from-to', widget: 'sl-from-to',
type: 'date', type: 'date',
format: 'yyyy-MM-dd HH:mm:ss', format: 'yyyy-MM-dd HH:mm:ss'
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
sts: { sts: {
@ -152,10 +129,7 @@ export class BillingOrderComponent implements OnInit {
ui: { ui: {
widget: 'dict-select', widget: 'dict-select',
params: { dictKey: 'etc:invoicing:status' }, params: { dictKey: 'etc:invoicing:status' },
placeholder: '请选择', placeholder: '请选择'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
invoiceno: { invoiceno: {
@ -163,10 +137,7 @@ export class BillingOrderComponent implements OnInit {
title: '发票号码', title: '发票号码',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
autocomplete: 'off', autocomplete: 'off'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
invoicedate: { invoicedate: {
@ -175,10 +146,7 @@ export class BillingOrderComponent implements OnInit {
ui: { ui: {
widget: 'sl-from-to', widget: 'sl-from-to',
type: 'date', type: 'date',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd'
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
enterpriseInfoId: { enterpriseInfoId: {
@ -188,9 +156,6 @@ export class BillingOrderComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
visibleIf: {
expand: (value: boolean) => value
},
asyncData: () => this.service.getNetworkFreightForwarder() asyncData: () => this.service.getNetworkFreightForwarder()
} }
} }

View File

@ -1,7 +1,5 @@
<page-header-wrapper [title]="'销票处理'"> <!-- <page-header-wrapper [title]="'销票处理'">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
@ -12,30 +10,36 @@
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<!-- <button nz-button> 导出</button> -->
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="table-box">
<div class="tab_header">
<label class="page_title">
<label class="driver">|</label>
销票处理</label>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" (nzSelectedIndexChange)="selectChange($event)">
<nz-tab nzTitle="全部"></nz-tab>
<nz-tab nzTitle="待处理"></nz-tab>
<nz-tab nzTitle="待确认"></nz-tab>
<!-- <nz-tab nzTitle="已确认"></nz-tab> -->
</nz-tabset>
</div>
<nz-card class="content-box" nzBordered>
<nz-tabset [nzTabBarExtraContent]="extraTemplate" (nzSelectedIndexChange)="selectChange($event)">
<nz-tab nzTitle="全部"></nz-tab>
<nz-tab nzTitle="待处理"></nz-tab>
<nz-tab nzTitle="待确认"></nz-tab>
<!-- <nz-tab nzTitle="已确认"></nz-tab> -->
</nz-tabset>
<ng-template #extraTemplate> <ng-template #extraTemplate>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center mr-sm">
<div class="mr-md"> <div class="mr-md">
已选择 已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 张发票&nbsp;&nbsp; 发票金额总计 <strong class="text-red">{{ selectedRows.length }}</strong> 张发票&nbsp;&nbsp; 发票金额总计
<strong class="text-red">{{totalCallNo }}</strong> <strong class="text-red">{{totalCallNo }}</strong>
<a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a>
</div> </div>
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<!-- <button nz-button *ngIf="resourceStatus===1 || !resourceStatus" (click)="this.batchPush()">推送开票</button> --> <!-- <button nz-button *ngIf="resourceStatus===1 || !resourceStatus" (click)="this.batchPush()">推送开票</button> -->
<!-- <button nz-button *ngIf="resourceStatus===1 || !resourceStatus" <!-- <button nz-button *ngIf="resourceStatus===1 || !resourceStatus"
(click)="this.batchRemove(selectedRows)">移除</button> (click)="this.batchRemove(selectedRows)">移除</button>
@ -45,7 +49,7 @@
</ng-template> </ng-template>
<st #st [scroll]="{ x: '2000px' }" [data]="service.$api_ficoVatinvHList" [columns]="columns" [page]="{}" <st #st [scroll]="{ x: '2000px',y:scrollY }" [data]="service.$api_ficoVatinvHList" [columns]="columns" [page]="{}"
[req]="{process: beforeReq }" [res]="{process:afterRes }" [loading]="false" (change)="stChange($event)"> [req]="{process: beforeReq }" [res]="{process:afterRes }" [loading]="false" (change)="stChange($event)">
<ng-template st-row="vatinvcode" let-item let-index="index" let-column="column"> <ng-template st-row="vatinvcode" let-item let-index="index" let-column="column">
{{ item.vatinvcode }} <br> {{ item.vatinvcode }} <br>

View File

@ -1,26 +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;
}
.text-truncate {
white-space: normal;
}
}

View File

@ -4,37 +4,42 @@ import { Router } from '@angular/router';
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema, SFSchemaEnum } from '@delon/form'; import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema, SFSchemaEnum } from '@delon/form';
import { dateTimePickerUtil } from '@delon/util'; import { dateTimePickerUtil } from '@delon/util';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { of } from 'rxjs'; import { BasicTableComponent } from 'src/app/routes/commom';
import { map } from 'rxjs/operators';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
import { RequestedInvoiceModalComponent } from '../invoice-requested/requested-invoice-modal/requested-invoice-modal.component';
import { PushInvoiceComponent } from './push-invoice/push-invoice.component'; import { PushInvoiceComponent } from './push-invoice/push-invoice.component';
@Component({ @Component({
selector: 'app-cancellation-invoice', selector: 'app-cancellation-invoice',
templateUrl: './cancellation-invoice.component.html', templateUrl: './cancellation-invoice.component.html',
styleUrls: ['./cancellation-invoice.component.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class CancellationInvoiceComponent implements OnInit { export class CancellationInvoiceComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
@ViewChild('requestedModal', { static: false }) @ViewChild('requestedModal', { static: false })
requestedModal!: any; requestedModal!: any;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
resourceStatus: any = ''; resourceStatus: any = '';
_$expand = false;
selectedRows: any[] = []; selectedRows: any[] = [];
totalCallNo = 0; totalCallNo = 0;
openInfo: any = { invoicedate: null, invoiceno: null, invoiceno2: null }; openInfo: any = { invoicedate: null, invoiceno: null, invoiceno2: null };
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} constructor(
public service: TicketService,
private nzModalService: NzModalService,
private router: Router,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
ngOnInit(): void {} search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
@ -236,22 +241,6 @@ export class CancellationInvoiceComponent implements OnInit {
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema { private initSF(): SFSchema {
return { return {
properties: { properties: {
@ -287,10 +276,7 @@ export class CancellationInvoiceComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
asyncData: () => this.service.getNetworkFreightForwarder(), asyncData: () => this.service.getNetworkFreightForwarder()
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
sts: { sts: {
@ -300,10 +286,7 @@ export class CancellationInvoiceComponent implements OnInit {
widget: 'dict-select', widget: 'dict-select',
containsAllLabel: true, containsAllLabel: true,
params: { dictKey: 'vatinv:status' }, params: { dictKey: 'vatinv:status' },
containAllLable: true, containAllLable: true
visibleIf: {
_$expand: (value: boolean) => value
}
} as SFSelectWidgetSchema } as SFSelectWidgetSchema
}, },
// or2derSn: { // or2derSn: {
@ -322,10 +305,7 @@ export class CancellationInvoiceComponent implements OnInit {
ui: { ui: {
widget: 'date', widget: 'date',
mode: 'range', mode: 'range',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd'
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
} }
} }
@ -407,7 +387,7 @@ export class CancellationInvoiceComponent implements OnInit {
{ {
text: '手工开票<br>', text: '手工开票<br>',
acl: { ability: ['TICKET-CANCELLATION-apply'] }, acl: { ability: ['TICKET-CANCELLATION-apply'] },
iif: item => item.sts != '3' && item.sts != '4' , iif: item => item.sts != '3' && item.sts != '4',
click: item => this.requestedAction(item) click: item => this.requestedAction(item)
} }
// { // {

View File

@ -1,14 +1,4 @@
<!-- <!-- <page-header-wrapper [title]="'ETC白名单'" [content]="content">
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:34:09
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-blacklist\\etc-blacklist.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'ETC白名单'" [content]="content">
<ng-template #content> <ng-template #content>
<nz-tabset class="tabs-wrap"> <nz-tabset class="tabs-wrap">
<nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="changeTab(tab)"> </nz-tab> <nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="changeTab(tab)"> </nz-tab>
@ -33,25 +23,43 @@
<button nz-button (click)="exprot()" acl [acl-ability]="[tabType === 1 ?'TICKET-ETC-BLACK_LIST-exportFreight' : 'TICKET-ETC-BLACK_LIST-exportCart']"> 导出</button> <button nz-button (click)="exprot()" acl [acl-ability]="[tabType === 1 ?'TICKET-ETC-BLACK_LIST-exportFreight' : 'TICKET-ETC-BLACK_LIST-exportCart']"> 导出</button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card> <nz-card class="table-box">
<div class="d-flex align-items-center mb-md"> <div class="tab_header">
<button nz-button (click)="configAction()" acl [acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-addFreight' : 'TICKET-ETC-BLACK_LIST-addCart']">添加</button> <label class="page_title"> <label class="driver">|</label> ETC白名单</label>
<button nz-button (click)="deleteAction()" acl [acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-deleteFreight' : 'TICKET-ETC-BLACK_LIST-deleteCart']">删除</button> <nz-tabset [nzTabBarExtraContent]="extraTemplate">
<div class="ml-md"> <nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="changeTab(tab)"> </nz-tab>
已选择 </nz-tabset>
<strong class="text-primary">{{ selectedRows.length }}</strong> 条数据
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
</div>
</div> </div>
<st <ng-template #extraTemplate>
#st <div class="d-flex align-items-center mr-sm">
[data]="tabType === 1 ? service.$api_get_etc_shipper_list : service.$api_get_etc_cart_page" <div class="mr-md">
[columns]="columns" 已选择
[page]="{}" <strong class="text-primary">{{ selectedRows.length }}</strong> 条数据
[req]="{ process: beforeReq }" <a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
[loading]="false" </div>
(change)="stChange($event)" <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
></st> <button nz-button nzDanger (click)="exprot()" acl
</nz-card> [acl-ability]="[tabType === 1 ?'TICKET-ETC-BLACK_LIST-exportFreight' : 'TICKET-ETC-BLACK_LIST-exportCart']">
导出</button>
<button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu>
<li nz-menu-item (click)="configAction()" acl
[acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-addFreight' : 'TICKET-ETC-BLACK_LIST-addCart']">
添加
</li>
<li nz-menu-item (click)="deleteAction()" acl
[acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-deleteFreight' : 'TICKET-ETC-BLACK_LIST-deleteCart']">
删除
</li>
</ul>
</nz-dropdown-menu>
</div>
</ng-template>
<st #st [data]="tabType === 1 ? service.$api_get_etc_shipper_list : service.$api_get_etc_cart_page"
[scroll]="{ x: '1200px',y:scrollY }" [columns]="columns" [page]="{}" [req]="{ process: beforeReq }"
[loading]="false" (change)="stChange($event)"></st>
</nz-card>

View File

@ -1,7 +1,9 @@
import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema } from '@delon/form'; import { SFComponent, SFSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { SystemService } from 'src/app/routes/sys-setting/services/system.service'; import { SystemService } from 'src/app/routes/sys-setting/services/system.service';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
import { AddCartComponent } from './add-cart/add-cart.component'; import { AddCartComponent } from './add-cart/add-cart.component';
@ -10,14 +12,12 @@ import { AddOwnerComponent } from './add-owner/add-owner.component';
@Component({ @Component({
selector: 'app-etc-blacklist', selector: 'app-etc-blacklist',
templateUrl: './etc-blacklist.component.html', templateUrl: './etc-blacklist.component.html',
styleUrls: ['../../../commom/less/box.less', './etc-blacklist.component.less'], styleUrls: ['../../../commom/less/commom-table.less'],
changeDetection: ChangeDetectionStrategy.OnPush changeDetection: ChangeDetectionStrategy.OnPush
}) })
export class ETCBlacklistComponent implements OnInit { export class ETCBlacklistComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
tabs = [ tabs = [
{ {
name: '货主', name: '货主',
@ -32,15 +32,19 @@ export class ETCBlacklistComponent implements OnInit {
]; ];
tabType = 1; tabType = 1;
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
selectedRows: any[] = []; selectedRows: any[] = [];
constructor(public service: TicketService, private nzModalService: NzModalService) {} constructor(public service: TicketService, private nzModalService: NzModalService, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService);
}
ngOnInit(): void {} search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
@ -63,6 +67,8 @@ export class ETCBlacklistComponent implements OnInit {
item.isActived = !item.isActived; item.isActived = !item.isActived;
// this.st.load(1); // this.st.load(1);
this.st.resetColumns(); this.st.resetColumns();
console.log(this.st);
}, 500); }, 500);
} }
@ -181,12 +187,6 @@ export class ETCBlacklistComponent implements OnInit {
nzOkText: '确定' nzOkText: '确定'
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
}
private initSF(): SFSchema { private initSF(): SFSchema {
return { return {
@ -288,12 +288,14 @@ export class ETCBlacklistComponent implements OnInit {
className: 'text-center', className: 'text-center',
buttons: [ buttons: [
{ {
text: '删除', iif: () => this.tabType === 1, text: '删除',
iif: () => this.tabType === 1,
acl: { ability: ['TICKET-ETC-BLACK_LIST-deleteFreight'] }, acl: { ability: ['TICKET-ETC-BLACK_LIST-deleteFreight'] },
click: item => this.deleteAction(item) click: item => this.deleteAction(item)
}, },
{ {
text: '删除', iif: () => this.tabType === 2, text: '删除',
iif: () => this.tabType === 2,
acl: { ability: ['TICKET-ETC-BLACK_LIST-deleteCart'] }, acl: { ability: ['TICKET-ETC-BLACK_LIST-deleteCart'] },
click: item => this.deleteAction(item) click: item => this.deleteAction(item)
} }

View File

@ -1,14 +1,4 @@
<!-- <!-- <page-header-wrapper [title]="'运单开票记录'">
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:08
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:19:10
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-invoiced-list\\etc-invoiced-list.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'运单开票记录'">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
@ -28,9 +18,18 @@
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="content-box" nzBordered> <nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 运单开票记录</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['FINANCIAL-VOUCHER-list']">筛选</button>
<button nz-button nzDanger (click)="exprot()" acl
[acl-ability]="['TICKET-ETC-INVOICE-LIST-export']">导出</button>
</div>
</div>
<st #st [data]="service.$api_get_invoice_record_page" [columns]="columns" [req]="{ process: beforeReq }" <st #st [data]="service.$api_get_invoice_record_page" [columns]="columns" [req]="{ process: beforeReq }"
[page]="{}" [loading]="false" [scroll]="{ x:'1200px' }"> [page]="{}" [loading]="false" [scroll]="{ x:'1200px' }">

View File

@ -2,28 +2,34 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema } from '@delon/form'; import { SFComponent, SFSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
import { TransactionDetailsComponent } from './transaction-details/transaction-details.component'; import { TransactionDetailsComponent } from './transaction-details/transaction-details.component';
@Component({ @Component({
selector: 'app-etc-invoiced-list', selector: 'app-etc-invoiced-list',
templateUrl: './etc-invoiced-list.component.html', templateUrl: './etc-invoiced-list.component.html',
styleUrls: ['../../../commom/less/box.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class ETCInvoicedListComponent implements OnInit { export class ETCInvoicedListComponent extends BasicTableComponent implements OnInit {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false; constructor(public service: TicketService, private nzModalService: NzModalService, public searchDrawerService: SearchDrawerService) {
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} super(searchDrawerService);
}
ngOnInit(): void {} ngOnInit(): void {}
search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
Object.assign(requestOptions.body, { Object.assign(requestOptions.body, {
@ -52,22 +58,6 @@ export class ETCInvoicedListComponent implements OnInit {
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema { private initSF(): SFSchema {
return { return {
properties: { properties: {
@ -106,10 +96,7 @@ export class ETCInvoicedListComponent implements OnInit {
ui: { ui: {
widget: 'dict-select', widget: 'dict-select',
params: { dictKey: 'etc:invoicing:status' }, params: { dictKey: 'etc:invoicing:status' },
placeholder: '请选择', placeholder: '请选择'
visibleIf: {
expand: (value: boolean) => value
}
}, },
default: '' default: ''
}, },
@ -122,10 +109,7 @@ export class ETCInvoicedListComponent implements OnInit {
searchDebounceTime: 300, searchDebounceTime: 300,
searchLoadingText: '搜索中...', searchLoadingText: '搜索中...',
allowClear: true, allowClear: true,
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q })
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
enterpriseInfoId: { enterpriseInfoId: {
@ -135,9 +119,6 @@ export class ETCInvoicedListComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
visibleIf: {
expand: (value: boolean) => value
},
asyncData: () => this.service.getNetworkFreightForwarder() asyncData: () => this.service.getNetworkFreightForwarder()
}, },
default: '' default: ''

View File

@ -1,17 +1,5 @@
<!-- <!-- <page-header-wrapper [title]="'已开发票'">
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:08
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:21:05
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-invoiced-logs\\etc-invoiced-logs.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'已开发票'">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
@ -23,18 +11,26 @@
class="text-right"> class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<button nz-button (click)="exportList()" acl [acl-ability]="['TICKET-ETC-INVOICE-LOGS-export']"> 导出</button> <button nz-button (click)="exportList()" acl [acl-ability]="['TICKET-ETC-INVOICE-LOGS-export']"> 导出</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="content-box" nzBordered> <nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 已开发票</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exportList()" acl
[acl-ability]="['TICKET-ETC-INVOICE-LOGS-export']">导出</button>
</div>
</div>
<st #st [data]="service.$api_get_invoice_logs_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_get_invoice_logs_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px' }"> [loading]="false" [scroll]="{ x:'1200px',y:scrollY }">
<ng-template st-row="call3No" let-item let-index="index" let-column="column"> <ng-template st-row="call3No" let-item let-index="index" let-column="column">
{{item.driverName}}<br>{{item.driverCellphone}} {{item.driverName}}<br>{{item.driverCellphone}}
</ng-template> </ng-template>

View File

@ -1,28 +1,29 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFSchema, SFDateWidgetSchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal'; import { SearchDrawerService } from '@shared';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
@Component({ @Component({
selector: 'app-etc-invoiced-logs', selector: 'app-etc-invoiced-logs',
templateUrl: './etc-invoiced-logs.component.html', templateUrl: './etc-invoiced-logs.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class ETCInvoicedLogsComponent implements OnInit { export class ETCInvoicedLogsComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false; constructor(public service: TicketService, private router: Router, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService);
}
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} search() {
this.st?.load(1);
ngOnInit(): void {} }
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
@ -46,22 +47,6 @@ export class ETCInvoicedLogsComponent implements OnInit {
this.router.navigate(['/ticket/invoice-requested-detail/1']); this.router.navigate(['/ticket/invoice-requested-detail/1']);
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
exportList() { exportList() {
const params = { listSource: 1, pageSize: -1 }; const params = { listSource: 1, pageSize: -1 };
if (this.sf) { if (this.sf) {
@ -107,10 +92,7 @@ export class ETCInvoicedLogsComponent implements OnInit {
type: 'string', type: 'string',
title: '车牌号', title: '车牌号',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
exTime: { exTime: {
@ -118,10 +100,7 @@ export class ETCInvoicedLogsComponent implements OnInit {
type: 'string', type: 'string',
ui: { ui: {
widget: 'sl-from-to-search', widget: 'sl-from-to-search',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd'
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
invoiceMakeTime: { invoiceMakeTime: {
@ -129,20 +108,14 @@ export class ETCInvoicedLogsComponent implements OnInit {
type: 'string', type: 'string',
ui: { ui: {
widget: 'sl-from-to-search', widget: 'sl-from-to-search',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd'
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
sellerName: { sellerName: {
type: 'string', type: 'string',
title: '销售方', title: '销售方',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
ltdId: { ltdId: {
@ -152,9 +125,6 @@ export class ETCInvoicedLogsComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
visibleIf: {
expand: (value: boolean) => value
},
asyncData: () => this.service.getNetworkFreightForwarder() asyncData: () => this.service.getNetworkFreightForwarder()
}, },
default: '' default: ''

View File

@ -1,14 +1,4 @@
<!-- <!-- <page-header-wrapper [title]="'申请记录'">
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-06 10:57:56
* @LastEditors : Shiming
* @LastEditTime : 2022-04-11 14:10:13
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\etc-invoiced-requested\\etc-invoiced-requested.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'申请记录'">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
@ -28,21 +18,36 @@
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="content-box" nzBordered> <nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 申请记录</label>
<div class="d-flex align-items-center mr-sm">
<div class="mr-md">
已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 张发票
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
</div>
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['TICKET-ETC-INVOICE-REQUESTED-export']">
导出</button>
<button nz-button nzType="primary" (click)="this.auditAction()" acl
[acl-ability]="['TICKET-ETC-INVOICE-REQUESTED-apply']">申请开票</button>
</div>
</div>
<div class="d-flex align-items-center mb-md mt-md"> <!-- <div class="d-flex align-items-center mb-md mt-md">
<button nz-button (click)="this.auditAction()" acl [acl-ability]="['TICKET-ETC-INVOICE-REQUESTED-apply']">申请开票</button> <button nz-button (click)="this.auditAction()" acl [acl-ability]="['TICKET-ETC-INVOICE-REQUESTED-apply']">申请开票</button>
<div class="ml-md"> <div class="ml-md">
已选择 已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 条运单 <strong class="text-primary">{{ selectedRows.length }}</strong> 条运单
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> <a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
</div> </div>
</div> </div> -->
<st #st [data]="service.$api_get_apply_invoice_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_get_apply_invoice_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)"> [loading]="false" [scroll]="{ x:'1200px',y:scrollY }" (change)="stChange($event)">
<ng-template st-row="call1No" let-item let-index="index" let-column="column"> <ng-template st-row="call1No" let-item let-index="index" let-column="column">
{{item.driverName}}<br>{{item.driverPhone}} {{item.driverName}}<br>{{item.driverPhone}}
</ng-template> </ng-template>

View File

@ -2,30 +2,32 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
@Component({ @Component({
selector: 'app-etc-invoiced-requested', selector: 'app-etc-invoiced-requested',
templateUrl: './etc-invoiced-requested.component.html', templateUrl: './etc-invoiced-requested.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class ETCInvoicedRequestedComponent implements OnInit { export class ETCInvoicedRequestedComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
@ViewChild('auditModal', { static: false }) @ViewChild('auditModal', { static: false })
auditModal!: any; auditModal!: any;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false;
selectedRows: any[] = []; selectedRows: any[] = [];
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} constructor(public service: TicketService, private nzModalService: NzModalService, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService);
}
ngOnInit(): void {} search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
@ -68,22 +70,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema { private initSF(): SFSchema {
return { return {
properties: { properties: {
@ -123,9 +109,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
title: '司机姓名', title: '司机姓名',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
driverPhone: { driverPhone: {
@ -133,9 +116,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
title: '司机手机', title: '司机手机',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
licenseCarNo: { licenseCarNo: {
@ -143,9 +123,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
title: '车牌号', title: '车牌号',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
licenseBelonging: { licenseBelonging: {
@ -153,9 +130,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
title: '车辆所有人', title: '车辆所有人',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
dischargePlace: { dischargePlace: {
@ -164,9 +138,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
ui: { ui: {
autocomplete: 'off', autocomplete: 'off',
placeholder: '请选择', placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
loadingPlace: { loadingPlace: {
@ -175,9 +146,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
ui: { ui: {
autocomplete: 'off', autocomplete: 'off',
placeholder: '请选择', placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
shipperId: { shipperId: {
@ -190,9 +158,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
searchLoadingText: '搜索中...', searchLoadingText: '搜索中...',
allowClear: true, allowClear: true,
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }),
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
enterpriseInfoName: { enterpriseInfoName: {
@ -202,9 +167,6 @@ export class ETCInvoicedRequestedComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
visibleIf: {
expand: (value: boolean) => value
},
asyncData: () => this.service.getNetworkFreightForwarder() asyncData: () => this.service.getNetworkFreightForwarder()
}, },
default: '' default: ''

View File

@ -1,4 +1,4 @@
<page-header-wrapper title="快递信息"> <!-- <page-header-wrapper title="快递信息">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box"> <nz-card class="search-box">
@ -12,13 +12,19 @@
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="content-box"> <nz-card class="table-box">
<div class="header_box">
<div class="mt-md mb-sm"> <label class="page_title"> <label class="driver">|</label> 快递信息</label>
<button nz-button nzType="primary" (click)="printOrder()" acl [acl-ability]="['TICKET-EXPRESS-INFO-print']">打印面单</button> <div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['FINANCIAL-VOUCHER-list']">筛选</button>
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['TICKET-EXPRESS-INFO-print']">筛选</button>
</div>
</div> </div>
<st #st [data]="url" [columns]="columns" [req]="{ process:beforeReq }" [loading]="false" [page]="{}" [scroll]="{x:'1200px'}"
(change)="stChange($event)"></st> <st #st [data]="url" [columns]="columns" [req]="{ process:beforeReq }" [loading]="false" [page]="{}"
[scroll]="{x:'1200px',y:scrollY}" (change)="stChange($event)"></st>
</nz-card> </nz-card>

View File

@ -1,34 +1,24 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:22
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 14:14:59
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\express-info\\express-info.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form'; import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
import { ExpressDetailModalComponent } from './express-detail-modal/express-detail-modal.component'; import { ExpressDetailModalComponent } from './express-detail-modal/express-detail-modal.component';
@Component({ @Component({
selector: 'app-express-info', selector: 'app-express-info',
templateUrl: './express-info.component.html', templateUrl: './express-info.component.html',
styleUrls: ['../../../commom/less/box.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class ExpressInfoComponent implements OnInit { export class ExpressInfoComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
url = `/api/fcc/ficoExpressH/getListPage`; url = `/api/fcc/ficoExpressH/getListPage`;
searchSchema: SFSchema = { schema: SFSchema = {
properties: { properties: {
expressCode: { expressCode: {
title: '快递单号', title: '快递单号',
@ -88,12 +78,16 @@ export class ExpressInfoComponent implements OnInit {
selectedRows: any[] = []; selectedRows: any[] = [];
reqParams = { pageIndex: 1, pageSize: 10 }; constructor(public service: TicketService, private nzModalService: NzModalService, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService);
constructor(public service: TicketService, private nzModalService: NzModalService) {} }
ngOnInit(): void {} ngOnInit(): void {}
search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
Object.assign(requestOptions.body, { Object.assign(requestOptions.body, {
@ -162,10 +156,4 @@ export class ExpressInfoComponent implements OnInit {
} }
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
}
} }

View File

@ -1,4 +1,4 @@
<page-header-wrapper [title]="'进项发票'"> <!-- <page-header-wrapper [title]="'进项发票'">
</page-header-wrapper> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
@ -19,20 +19,36 @@
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="content-box" nzBordered> <nz-card class="table-box">
<div class="header_box">
<label class="page_title"> <label class="driver">|</label> 进项发票</label>
<div class="d-flex align-items-center mr-sm">
<div class="mr-md">
已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 张发票
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
</div>
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()" acl
[acl-ability]="['FINANCIAL-VOUCHER-list']">筛选</button>
<button nz-button nzDanger acl [acl-ability]="['VEHICLE-LIST-search']"> 导出</button>
<button nz-button (click)="this.addInvoice()" nzType="primary" acl
[acl-ability]="['TICKET-INPUT-INVOICE-addInvoice']">添加发票</button>
</div>
</div>
<div class="d-flex align-items-center mb-md mt-md"> <!-- <div class="d-flex align-items-center mb-md mt-md">
<button nz-button (click)="this.addInvoice()" nzType="primary" acl [acl-ability]="['TICKET-INPUT-INVOICE-addInvoice']">添加发票</button> <button nz-button (click)="this.addInvoice()" nzType="primary" acl
[acl-ability]="['TICKET-INPUT-INVOICE-addInvoice']">添加发票</button>
<div class="ml-md"> <div class="ml-md">
已选择 已选择
<strong class="text-primary">{{ selectedRows.length }}</strong> 张发票 <strong class="text-primary">{{ selectedRows.length }}</strong> 张发票
<a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> <a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
</div> </div>
</div> </div> -->
<st #st [data]="service.$api_get_input_invoice_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_get_input_invoice_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)"> [loading]="false" [scroll]="{ x:'1200px',y:scrollY }" (change)="stChange($event)">
</st> </st>
</nz-card> </nz-card>

View File

@ -1,32 +1,39 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form'; import { SFDateWidgetSchema, SFSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
import { AddCollectionInvoiceModalComponent } from './add-collection-invoice-modal/add-collection-invoice-modal.component'; import { AddCollectionInvoiceModalComponent } from './add-collection-invoice-modal/add-collection-invoice-modal.component';
@Component({ @Component({
selector: 'app-input-invoice', selector: 'app-input-invoice',
templateUrl: './input-invoice.component.html', templateUrl: './input-invoice.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class InputInvoiceComponent implements OnInit { export class InputInvoiceComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
@ViewChild('auditModal', { static: false }) @ViewChild('auditModal', { static: false })
auditModal!: any; auditModal!: any;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false;
selectedRows: any[] = []; selectedRows: any[] = [];
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} constructor(
public service: TicketService,
private nzModalService: NzModalService,
private router: Router,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
ngOnInit(): void {} search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.sf) { if (this.sf) {
@ -66,22 +73,6 @@ export class InputInvoiceComponent implements OnInit {
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema { private initSF(): SFSchema {
return { return {
properties: { properties: {
@ -127,10 +118,7 @@ export class InputInvoiceComponent implements OnInit {
], ],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择'
visibleIf: {
expand: (value: boolean) => value
}
}, },
default: '' default: ''
}, },
@ -141,10 +129,7 @@ export class InputInvoiceComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
asyncData: () => this.service.getCRMCustomerId(), asyncData: () => this.service.getCRMCustomerId()
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
createtime: { createtime: {
@ -152,10 +137,7 @@ export class InputInvoiceComponent implements OnInit {
type: 'string', type: 'string',
ui: { ui: {
widget: 'sl-from-to-search', widget: 'sl-from-to-search',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd'
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
sts: { sts: {
@ -168,10 +150,7 @@ export class InputInvoiceComponent implements OnInit {
], ],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择'
visibleIf: {
expand: (value: boolean) => value
}
}, },
default: '' default: ''
}, },
@ -180,40 +159,28 @@ export class InputInvoiceComponent implements OnInit {
title: '发票日期', title: '发票日期',
ui: { ui: {
widget: 'sl-from-to-search', widget: 'sl-from-to-search',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
remarks: { remarks: {
type: 'string', type: 'string',
title: '收票备注', title: '收票备注',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
billCode: { billCode: {
type: 'string', type: 'string',
title: '订单号', title: '订单号',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
feecode: { feecode: {
type: 'string', type: 'string',
title: '费用号', title: '费用号',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
} }
} }

View File

@ -1,16 +1,4 @@
<!-- <!-- <page-header-wrapper [title]="'开票申请'"> </page-header-wrapper>
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-01-21 15:39:30
* @LastEditors : Shiming
* @LastEditTime : 2022-04-29 13:55:16
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoice-requested\\invoice-requested.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'开票申请'"> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
@ -27,19 +15,24 @@
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card class="table-box">
<div class="tab_header">
<label class="page_title">
<label class="driver">|</label>
开票申请</label>
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
<nz-tab nzTitle="待受理" (nzClick)="selectChange('1')"></nz-tab>
<nz-tab nzTitle="处理中" (nzClick)="selectChange('2')"></nz-tab>
<nz-tab nzTitle="已拒绝" (nzClick)="selectChange('4')"></nz-tab>
<nz-tab nzTitle="已撤销" (nzClick)="selectChange('5')"></nz-tab>
<nz-tab nzTitle="已受理" (nzClick)="selectChange('3')"></nz-tab>
<nz-tab nzTitle="全部" (nzClick)="selectChange(null)"></nz-tab>
</nz-tabset>
</div>
<nz-card class="content-box" nzBordered>
<nz-tabset [nzTabBarExtraContent]="extraTemplate">
<nz-tab nzTitle="待受理" (nzClick)="selectChange('1')"></nz-tab>
<nz-tab nzTitle="处理中" (nzClick)="selectChange('2')"></nz-tab>
<nz-tab nzTitle="已拒绝" (nzClick)="selectChange('4')"></nz-tab>
<nz-tab nzTitle="已撤销" (nzClick)="selectChange('5')"></nz-tab>
<nz-tab nzTitle="已受理" (nzClick)="selectChange('3')"></nz-tab>
<nz-tab nzTitle="全部" (nzClick)="selectChange(null)"></nz-tab>
</nz-tabset>
<ng-template #extraTemplate> <ng-template #extraTemplate>
<div class="d-flex align-items-center" <div class="d-flex align-items-center mr-sm"
*ngIf="resourceStatus==='1'|| resourceStatus==='2' || resourceStatus==='3' || !resourceStatus"> *ngIf="resourceStatus==='1'|| resourceStatus==='2' || resourceStatus==='3' || !resourceStatus">
<div class="mr-md"> <div class="mr-md">
已选择 已选择
@ -47,17 +40,35 @@
<strong class="text-red">{{ totalCallNo }}</strong> <strong class="text-red">{{ totalCallNo }}</strong>
<a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a>
</div> </div>
<button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" (click)="this.batchRequested()" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-userApply']">批量受理</button> <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
<button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" <button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-export']"> 导出</button>
(click)="this.rejectAction(selectedRows)" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-reject']">驳回</button> <button nz-button nz-dropdown [nzDropdownMenu]="menu" nzPlacement="bottomLeft">
<button nz-button *ngIf="resourceStatus !=='4' && resourceStatus !=='5'" 更多<i nz-icon nzType="down" nzTheme="outline"></i></button>
(click)="changeAddress(selectedRows)" acl [acl-ability]="['VEHICLE-LIST-search']">修改地址</button> <nz-dropdown-menu #menu="nzDropdownMenu">
<button nz-button *ngIf="resourceStatus==='3' || !resourceStatus" (click)="printOrder(selectedRows)" acl [acl-ability]="['VEHICLE-LIST-search']">快递下单</button> <ul nz-menu>
<li nz-menu-item *ngIf="resourceStatus==='1' || !resourceStatus" (click)="this.batchRequested()" acl
[acl-ability]="['TICKET-INVOICE-REQUESTED-userApply']">
批量受理
</li>
<li nz-menu-item *ngIf="resourceStatus==='1' || !resourceStatus" (click)="this.rejectAction(selectedRows)" acl
[acl-ability]="['TICKET-INVOICE-REQUESTED-reject']">
驳回
</li>
<li nz-menu-item *ngIf="resourceStatus !=='4' && resourceStatus !=='5'" (click)="changeAddress(selectedRows)"
acl [acl-ability]="['VEHICLE-LIST-search']">
修改地址
</li>
<li nz-menu-item *ngIf="resourceStatus==='3' || !resourceStatus" (click)="printOrder(selectedRows)" acl
[acl-ability]="['VEHICLE-LIST-search']">
快递下单
</li>
</ul>
</nz-dropdown-menu>
</div> </div>
</ng-template> </ng-template>
<st #st [data]="service.$api_get_invoice_requested_page" [columns]="columns" [req]="{ process: beforeReq }" <st #st [data]="service.$api_get_invoice_requested_page" [columns]="columns" [req]="{ process: beforeReq }"
[page]="{}" [res]="{ process: afterRes }" [loading]="false" [scroll]="{ x: '1200px' }" (change)="stChange($event)"> [page]="{}" [res]="{ process: afterRes }" [loading]="false" [scroll]="{ x: '1200px',y:scrollY }" (change)="stChange($event)">
<ng-template st-row="vatappcode" let-item let-index="index" let-column="column"> <ng-template st-row="vatappcode" let-item let-index="index" let-column="column">
{{ item.vatappcode }} <br /> {{ item.vatappcode }} <br />
<label class="text-primary">{{item.stsLabel}}</label> <label class="text-primary">{{item.stsLabel}}</label>

View File

@ -1,7 +0,0 @@
:host::ng-deep {
.ant-tabs-tab-btn {
padding-left : 16px;
padding-right: 16px;
}
}

View File

@ -1,11 +1,11 @@
import { query } from '@angular/animations';
import { CurrencyPipe } from '@angular/common';
import { Component, ViewChild } from '@angular/core'; import { Component, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema } from '@delon/form'; import { SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { delay } from 'rxjs/operators'; import { delay } from 'rxjs/operators';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
import { PrintOrderModalComponent } from './print-order-modal/print-order-modal.component'; import { PrintOrderModalComponent } from './print-order-modal/print-order-modal.component';
@ -15,26 +15,33 @@ import { UpdateAddressModalComponent } from './update-address-modal/update-addre
@Component({ @Component({
selector: 'app-invoice-requested', selector: 'app-invoice-requested',
templateUrl: './invoice-requested.component.html', templateUrl: './invoice-requested.component.html',
styleUrls: ['./invoice-requested.component.less', '../../../commom/less/box.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class InvoiceRequestedComponent { export class InvoiceRequestedComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
@ViewChild('rejectModal', { static: false }) @ViewChild('rejectModal', { static: false })
rejectModal!: any; rejectModal!: any;
resourceStatus: any = '1'; resourceStatus: any = '1';
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false;
totalCallNo = 0; totalCallNo = 0;
selectedRows: any[] = []; selectedRows: any[] = [];
rejectReason = ''; rejectReason = '';
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} constructor(
public service: TicketService,
private nzModalService: NzModalService,
private router: Router,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
if (this.resourceStatus) { if (this.resourceStatus) {
@ -300,22 +307,6 @@ export class InvoiceRequestedComponent {
} }
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
// 导出 // 导出
exprot() { exprot() {
this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_invoice_requested_page); this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_invoice_requested_page);
@ -357,9 +348,6 @@ export class InvoiceRequestedComponent {
default: '', default: '',
ui: { ui: {
widget: 'select', widget: 'select',
visibleIf: {
expand: (value: boolean) => value
},
asyncData: () => this.service.getEnterpriseProject() asyncData: () => this.service.getEnterpriseProject()
} }
}, },
@ -369,9 +357,6 @@ export class InvoiceRequestedComponent {
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
visibleIf: {
expand: (value: boolean) => value
},
allowClear: true, allowClear: true,
asyncData: () => this.service.getNetworkFreightForwarder() asyncData: () => this.service.getNetworkFreightForwarder()
}, },
@ -379,12 +364,7 @@ export class InvoiceRequestedComponent {
}, },
otherremarks: { otherremarks: {
type: 'string', type: 'string',
title: '其他需求', title: '其他需求'
ui: {
visibleIf: {
expand: (value: boolean) => value
}
}
}, },
createTime: { createTime: {
title: '申请时间', title: '申请时间',
@ -393,10 +373,7 @@ export class InvoiceRequestedComponent {
widget: 'sl-from-to-search', widget: 'sl-from-to-search',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd',
placeholder: '请选择', placeholder: '请选择',
nzShowTime: true, nzShowTime: true
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
isdetail: { isdetail: {
@ -409,10 +386,7 @@ export class InvoiceRequestedComponent {
], ],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择'
visibleIf: {
expand: (value: boolean) => value
}
}, },
default: '' default: ''
}, },
@ -425,10 +399,7 @@ export class InvoiceRequestedComponent {
searchDebounceTime: 300, searchDebounceTime: 300,
searchLoadingText: '搜索中...', searchLoadingText: '搜索中...',
allowClear: true, allowClear: true,
onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q })
visibleIf: {
expand: (value: boolean) => value
}
} }
} }
} }

View File

@ -1,14 +1,4 @@
<!-- <!-- <page-header-wrapper [title]="'已开发票'"> </page-header-wrapper>
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-01-19 20:19:59
* @LastEditors : Shiming
* @LastEditTime : 2022-01-26 14:27:32
* @FilePath : \\tms-obc-web\\src\\app\\routes\\ticket-management\\components\\invoiced-list\\invoiced-list.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'已开发票'"> </page-header-wrapper>
<nz-card class="search-box" nzBordered> <nz-card class="search-box" nzBordered>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
@ -19,29 +9,32 @@
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
<!-- <button nz-button> 导出</button> -->
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button> </button>
</div> </div>
</div> </div>
</nz-card> </nz-card> -->
<nz-card nzBordered> <nz-card class="table-box">
<div class="d-flex align-items-center mb-md"> <div class="header_box">
<!-- <button nz-button (click)="this.deletedInvoice()">作废发票</button> <label class="page_title"> <label class="driver">|</label> 已开发票</label>
<div class="mr-sm">
<button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button>
</div>
</div>
<!-- <button nz-button (click)="this.deletedInvoice()">作废发票</button>
<button nz-button (click)="this.invoiceHongChong()">发票红冲</button> --> <button nz-button (click)="this.invoiceHongChong()">发票红冲</button> -->
<!-- <div class="ml-md"> <!-- <div class="ml-md">
已选择 已选择
<strong class="text-red">{{ selectedRows.length }}</strong> 条数据&nbsp;&nbsp; 开票金额总计 <strong class="text-red">{{ selectedRows.length }}</strong> 条数据&nbsp;&nbsp; 开票金额总计
<strong class="text-red">{{ totalCallNo }}</strong> <strong class="text-red">{{ totalCallNo }}</strong>
<a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
</div> --> </div> -->
</div>
<st #st [data]="service.$api_get_invoice_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_get_invoice_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x: '1200px' }" (change)="stChange($event)"> [loading]="false" [scroll]="{ x: '1200px',y:scrollY }" (change)="stChange($event)">
<ng-template st-row="no" let-item let-index="index"> <ng-template st-row="no" let-item let-index="index">
{{ item.no }} {{ item.no }}
<a>预览发票</a> <a>预览发票</a>
@ -63,13 +56,13 @@
<ng-template #requestedModal> <ng-template #requestedModal>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="100"> <div nz-col nzSpan="24" se-container [labelWidth]="100">
<se [col]="1" label="快递公司" required> <se [col]="1" label="快递公司" required>
<input nz-input [(ngModel)]="openInfo.expresscompany" placeholder="请输入" /> <input nz-input [(ngModel)]="openInfo.expresscompany" placeholder="请输入" />
</se> </se>
<se [col]="1" label="快递单号" required> <se [col]="1" label="快递单号" required>
<input nz-input [(ngModel)]="openInfo.expressno" placeholder="请输入" /> <input nz-input [(ngModel)]="openInfo.expressno" placeholder="请输入" />
</se> </se>
</div> </div>
</div> </div>
</ng-template> </ng-template>

View File

@ -1,27 +1,24 @@
import { CurrencyPipe } from '@angular/common'; import { Component, ViewChild } from '@angular/core';
import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFSchema, SFDateWidgetSchema } from '@delon/form';
import { SearchDrawerService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { BasicTableComponent } from 'src/app/routes/commom';
import { TicketService } from '../../services/ticket.service'; import { TicketService } from '../../services/ticket.service';
@Component({ @Component({
selector: 'app-invoiced-list', selector: 'app-invoiced-list',
templateUrl: './invoiced-list.component.html', templateUrl: './invoiced-list.component.html',
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less'] styleUrls: ['../../../commom/less/commom-table.less']
}) })
export class InvoicedListComponent implements OnInit { export class InvoicedListComponent extends BasicTableComponent {
@ViewChild('st', { static: true }) @ViewChild('st', { static: true })
st!: STComponent; st!: STComponent;
@ViewChild('sf', { static: false })
sf!: SFComponent;
@ViewChild('logosticsLogsModal', { static: false }) @ViewChild('logosticsLogsModal', { static: false })
logosticsLogsModal!: any; logosticsLogsModal!: any;
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
searchSchema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
_$expand = false;
selectedRows: any[] = []; selectedRows: any[] = [];
totalCallNo = 0; totalCallNo = 0;
@ -34,12 +31,21 @@ export class InvoicedListComponent implements OnInit {
@ViewChild('requestedModal', { static: false }) @ViewChild('requestedModal', { static: false })
requestedModal!: any; requestedModal!: any;
openInfo: any = { expresscompany: null, expressno: null }; openInfo: any = { expresscompany: null, expressno: null };
constructor(public service: TicketService, private nzModalService: NzModalService, private router: Router) {} constructor(
public service: TicketService,
private nzModalService: NzModalService,
private router: Router,
public searchDrawerService: SearchDrawerService
) {
super(searchDrawerService);
}
ngOnInit(): void {} search() {
this.st?.load(1);
}
beforeReq = (requestOptions: STRequestOptions) => { beforeReq = (requestOptions: STRequestOptions) => {
Object.assign(requestOptions.body,{sts: '3'}) Object.assign(requestOptions.body, { sts: '3' });
if (this.sf) { if (this.sf) {
Object.assign(requestOptions.body, { Object.assign(requestOptions.body, {
...this.sf?.value, ...this.sf?.value,
@ -49,7 +55,7 @@ export class InvoicedListComponent implements OnInit {
} }
}); });
} }
return requestOptions ; return requestOptions;
}; };
stChange(e: STChange): void { stChange(e: STChange): void {
@ -167,22 +173,6 @@ export class InvoicedListComponent implements OnInit {
}); });
} }
/**
* 重置表单
*/
resetSF() {
this.sf.reset();
this._$expand = false;
}
/**
* 伸缩查询条件
*/
expandToggle() {
this._$expand = !this._$expand;
this.sf?.setValue('/expand', this._$expand);
}
private initSF(): SFSchema { private initSF(): SFSchema {
return { return {
properties: { properties: {
@ -220,20 +210,14 @@ export class InvoicedListComponent implements OnInit {
widget: 'sl-from-to-search', widget: 'sl-from-to-search',
format: 'yyyy-MM-dd', format: 'yyyy-MM-dd',
placeholder: '请选择', placeholder: '请选择',
nzShowTime: true, nzShowTime: true
visibleIf: {
expand: (value: boolean) => value
}
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, },
artoname: { artoname: {
type: 'string', type: 'string',
title: '购买人', title: '购买人',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
ltdId: { ltdId: {
@ -243,9 +227,6 @@ export class InvoicedListComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
visibleIf: {
expand: (value: boolean) => value
},
asyncData: () => this.service.getNetworkFreightForwarder({}, true) asyncData: () => this.service.getNetworkFreightForwarder({}, true)
}, },
default: '' default: ''
@ -254,10 +235,7 @@ export class InvoicedListComponent implements OnInit {
type: 'string', type: 'string',
title: '分票编号', title: '分票编号',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入'
visibleIf: {
expand: (value: boolean) => value
}
} }
}, },
invoicetype: { invoicetype: {
@ -269,10 +247,7 @@ export class InvoicedListComponent implements OnInit {
], ],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择'
visibleIf: {
expand: (value: boolean) => value
}
}, },
default: '' default: ''
} }