UI
This commit is contained in:
		| @ -1,9 +1,8 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||
| import { SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { FreightAccountService } from '../../services/freight-account.service'; | ||||
|  | ||||
| @ -12,7 +11,7 @@ import { FreightAccountService } from '../../services/freight-account.service'; | ||||
|   templateUrl: './voucher-management.component.html', | ||||
|   styleUrls: ['../../../commom/less/commom-table.less'] | ||||
| }) | ||||
| export class VoucherManagementComponent extends BasicTableComponent implements OnInit { | ||||
| export class VoucherManagementComponent extends BasicTableComponent { | ||||
|   @ViewChild('st', { static: true }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('auditModal', { static: false }) | ||||
| @ -25,8 +24,6 @@ export class VoucherManagementComponent extends BasicTableComponent implements O | ||||
|     super(searchDrawerService); | ||||
|   } | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
|  | ||||
|   search() { | ||||
|     this.st?.load(1); | ||||
|   } | ||||
|  | ||||
| @ -66,8 +66,10 @@ | ||||
|                 <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> | ||||
|             </div> | ||||
|             <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button> | ||||
|             <button nz-button nzDanger (click)="exprot()"> 导出</button> | ||||
|             <button nz-button (click)="this.auditAction(null)">审核</button> | ||||
|             <button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['FINANCIAL-WITHDRAWALS-export']"> | ||||
|                 导出</button> | ||||
|             <button nz-button (click)="this.auditAction(null)" acl | ||||
|                 [acl-ability]="['FINANCIAL-WITHDRAWALS-audit']">审核</button> | ||||
|         </div> | ||||
|     </ng-template> | ||||
|  | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| import { Component, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| 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 { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| @ -48,7 +48,7 @@ export class WithdrawalsRecordComponent extends BasicTableComponent { | ||||
|         createTime: { | ||||
|           start: this.sf?.value.createTime?.[0] || '', | ||||
|           end: this.sf?.value.createTime?.[1] || '' | ||||
|         }, | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|     delete requestOptions?.body?.expand; | ||||
| @ -187,13 +187,13 @@ export class WithdrawalsRecordComponent extends BasicTableComponent { | ||||
|           type: 'string', | ||||
|           title: '账户类型', | ||||
|           enum: [ | ||||
|             {label: '全部', value: ''}, | ||||
|             {label: '个人合伙人', value: '4'}, | ||||
|             {label: '企业合伙人', value: '5'} | ||||
|             { label: '全部', value: '' }, | ||||
|             { label: '个人合伙人', value: '4' }, | ||||
|             { label: '企业合伙人', value: '5' } | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             placeholder: '请选择' | ||||
|           } | ||||
|         }, | ||||
|         ltdId: { | ||||
|  | ||||
| @ -1,7 +1,5 @@ | ||||
| <page-header-wrapper [title]="'可开票订单'"> | ||||
| <!-- <page-header-wrapper [title]="'可开票订单'"> | ||||
| </page-header-wrapper> | ||||
|  | ||||
|  | ||||
| <nz-card class="search-box" nzBordered> | ||||
|     <div nz-row nzGutter="8"> | ||||
|         <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||
| @ -20,11 +18,20 @@ | ||||
|             </button> | ||||
|         </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]="{}" | ||||
|         [loading]="false" [scroll]="{ x:'1200px' }"> | ||||
|         [loading]="false" [scroll]="{ x:'1200px',y:scrollY }"> | ||||
|         <ng-template st-row="sts" let-item let-index="index"> | ||||
|             <span *ngIf="item.sts === '1'">待受理</span> | ||||
|             <span *ngIf="item.sts === '2'">处理中</span> | ||||
|  | ||||
| @ -2,27 +2,29 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-billing-order', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   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) {} | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
|   search() { | ||||
|     this.st?.load(1); | ||||
|   } | ||||
|  | ||||
|   beforeReq = (requestOptions: STRequestOptions) => { | ||||
|     if (this.sf) { | ||||
| @ -38,22 +40,6 @@ export class BillingOrderComponent implements OnInit { | ||||
|     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() { | ||||
|     this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_InvoicedBillInfoPage); | ||||
|   } | ||||
| @ -118,20 +104,14 @@ export class BillingOrderComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           title: '申请编号', | ||||
|           ui: { | ||||
|             autocomplete: 'off', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             autocomplete: 'off' | ||||
|           } | ||||
|         }, | ||||
|         vatinvcode: { | ||||
|           type: 'string', | ||||
|           title: '分票编号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         vatappdate: { | ||||
| @ -140,10 +120,7 @@ export class BillingOrderComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'sl-from-to', | ||||
|             type: 'date', | ||||
|             format: 'yyyy-MM-dd HH:mm:ss', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd HH:mm:ss' | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         sts: { | ||||
| @ -152,10 +129,7 @@ export class BillingOrderComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'etc:invoicing:status' }, | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请选择' | ||||
|           } | ||||
|         }, | ||||
|         invoiceno: { | ||||
| @ -163,10 +137,7 @@ export class BillingOrderComponent implements OnInit { | ||||
|           title: '发票号码', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             autocomplete: 'off', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             autocomplete: 'off' | ||||
|           } | ||||
|         }, | ||||
|         invoicedate: { | ||||
| @ -175,10 +146,7 @@ export class BillingOrderComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'sl-from-to', | ||||
|             type: 'date', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd' | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         enterpriseInfoId: { | ||||
| @ -188,9 +156,6 @@ export class BillingOrderComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           } | ||||
|         } | ||||
|  | ||||
| @ -1,7 +1,5 @@ | ||||
| <page-header-wrapper [title]="'销票处理'"> | ||||
| <!-- <page-header-wrapper [title]="'销票处理'"> | ||||
| </page-header-wrapper> | ||||
|  | ||||
|  | ||||
| <nz-card class="search-box" nzBordered> | ||||
|     <div nz-row nzGutter="8"> | ||||
|         <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"> | ||||
|             <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> | ||||
|             <button nz-button (click)="resetSF()">重置</button> | ||||
|             <!-- <button nz-button> 导出</button> --> | ||||
|             <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|                 {{ !_$expand ? '展开' : '收起' }} | ||||
|                 <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
|             </button> | ||||
|         </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> | ||||
|         <div class="d-flex align-items-center"> | ||||
|         <div class="d-flex align-items-center mr-sm"> | ||||
|             <div class="mr-md"> | ||||
|                 已选择 | ||||
|                 <strong class="text-red">{{ selectedRows.length }}</strong> 张发票   发票金额总计 | ||||
|                 <strong class="text-red">{{totalCallNo }}</strong> | ||||
|                 <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> | ||||
|             </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.batchRemove(selectedRows)">移除</button> | ||||
| @ -45,7 +49,7 @@ | ||||
|     </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)"> | ||||
|         <ng-template st-row="vatinvcode" let-item let-index="index" let-column="column"> | ||||
|             {{ item.vatinvcode }} <br> | ||||
|  | ||||
| @ -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; | ||||
|     } | ||||
| } | ||||
| @ -4,37 +4,42 @@ import { Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFDateWidgetSchema, SFSelectWidgetSchema, SFSchemaEnum } from '@delon/form'; | ||||
| import { dateTimePickerUtil } from '@delon/util'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { of } from 'rxjs'; | ||||
| import { map } from 'rxjs/operators'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| 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'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-cancellation-invoice', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   @ViewChild('requestedModal', { static: false }) | ||||
|   requestedModal!: any; | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|   schema: SFSchema = this.initSF(); | ||||
|   resourceStatus: any = ''; | ||||
|   _$expand = false; | ||||
|  | ||||
|   selectedRows: any[] = []; | ||||
|   totalCallNo = 0; | ||||
|  | ||||
|   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) => { | ||||
|     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 { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -287,10 +276,7 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder(), | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           } | ||||
|         }, | ||||
|         sts: { | ||||
| @ -300,10 +286,7 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|             widget: 'dict-select', | ||||
|             containsAllLabel: true, | ||||
|             params: { dictKey: 'vatinv:status' }, | ||||
|             containAllLable: true, | ||||
|             visibleIf: { | ||||
|               _$expand: (value: boolean) => value | ||||
|             } | ||||
|             containAllLable: true | ||||
|           } as SFSelectWidgetSchema | ||||
|         }, | ||||
|         // or2derSn: { | ||||
| @ -322,10 +305,7 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'date', | ||||
|             mode: 'range', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd' | ||||
|           } as SFDateWidgetSchema | ||||
|         } | ||||
|       } | ||||
| @ -407,7 +387,7 @@ export class CancellationInvoiceComponent implements OnInit { | ||||
|           { | ||||
|             text: '手工开票<br>', | ||||
|             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) | ||||
|           } | ||||
|           // { | ||||
|  | ||||
| @ -1,14 +1,4 @@ | ||||
| <!-- | ||||
|  * @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"> | ||||
| <!-- <page-header-wrapper [title]="'ETC白名单'" [content]="content"> | ||||
|   <ng-template #content> | ||||
|     <nz-tabset class="tabs-wrap"> | ||||
|       <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> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| </nz-card> --> | ||||
|  | ||||
| <nz-card> | ||||
|   <div class="d-flex align-items-center mb-md"> | ||||
|     <button nz-button (click)="configAction()"  acl  [acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-addFreight' : 'TICKET-ETC-BLACK_LIST-addCart']">添加</button> | ||||
|     <button nz-button (click)="deleteAction()"  acl  [acl-ability]="[tabType === 1 ? 'TICKET-ETC-BLACK_LIST-deleteFreight' : 'TICKET-ETC-BLACK_LIST-deleteCart']">删除</button> | ||||
|     <div class="ml-md"> | ||||
|       已选择 | ||||
|       <strong class="text-primary">{{ selectedRows.length }}</strong> 条数据 | ||||
|       <a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> | ||||
|     </div> | ||||
| <nz-card class="table-box"> | ||||
|   <div class="tab_header"> | ||||
|     <label class="page_title"> <label class="driver">|</label> ETC白名单</label> | ||||
|     <nz-tabset [nzTabBarExtraContent]="extraTemplate"> | ||||
|       <nz-tab *ngFor="let tab of tabs" [nzTitle]="tab.name" (nzSelect)="changeTab(tab)"> </nz-tab> | ||||
|     </nz-tabset> | ||||
|   </div> | ||||
|   <st | ||||
|     #st | ||||
|     [data]="tabType === 1 ? service.$api_get_etc_shipper_list : service.$api_get_etc_cart_page" | ||||
|     [columns]="columns" | ||||
|     [page]="{}" | ||||
|     [req]="{ process: beforeReq }" | ||||
|     [loading]="false" | ||||
|     (change)="stChange($event)" | ||||
|   ></st> | ||||
| </nz-card> | ||||
|   <ng-template #extraTemplate> | ||||
|     <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]="[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> | ||||
| @ -1,7 +1,9 @@ | ||||
| import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| 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 { TicketService } from '../../services/ticket.service'; | ||||
| import { AddCartComponent } from './add-cart/add-cart.component'; | ||||
| @ -10,14 +12,12 @@ import { AddOwnerComponent } from './add-owner/add-owner.component'; | ||||
| @Component({ | ||||
|   selector: 'app-etc-blacklist', | ||||
|   templateUrl: './etc-blacklist.component.html', | ||||
|   styleUrls: ['../../../commom/less/box.less', './etc-blacklist.component.less'], | ||||
|   styleUrls: ['../../../commom/less/commom-table.less'], | ||||
|   changeDetection: ChangeDetectionStrategy.OnPush | ||||
| }) | ||||
| export class ETCBlacklistComponent implements OnInit { | ||||
| export class ETCBlacklistComponent extends BasicTableComponent { | ||||
|   @ViewChild('st', { static: true }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   tabs = [ | ||||
|     { | ||||
|       name: '货主', | ||||
| @ -32,15 +32,19 @@ export class ETCBlacklistComponent implements OnInit { | ||||
|   ]; | ||||
|   tabType = 1; | ||||
|  | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|   schema: SFSchema = this.initSF(); | ||||
|  | ||||
|   columns: STColumn[] = this.initST(); | ||||
|  | ||||
|   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) => { | ||||
|     if (this.sf) { | ||||
| @ -63,6 +67,8 @@ export class ETCBlacklistComponent implements OnInit { | ||||
|       item.isActived = !item.isActived; | ||||
|       // this.st.load(1); | ||||
|       this.st.resetColumns(); | ||||
|       console.log(this.st); | ||||
|        | ||||
|     }, 500); | ||||
|   } | ||||
|  | ||||
| @ -181,12 +187,6 @@ export class ETCBlacklistComponent implements OnInit { | ||||
|       nzOkText: '确定' | ||||
|     }); | ||||
|   } | ||||
|   /** | ||||
|    * 重置表单 | ||||
|    */ | ||||
|   resetSF() { | ||||
|     this.sf.reset(); | ||||
|   } | ||||
|  | ||||
|   private initSF(): SFSchema { | ||||
|     return { | ||||
| @ -288,12 +288,14 @@ export class ETCBlacklistComponent implements OnInit { | ||||
|         className: 'text-center', | ||||
|         buttons: [ | ||||
|           { | ||||
|             text: '删除', iif: () => this.tabType === 1, | ||||
|             text: '删除', | ||||
|             iif: () => this.tabType === 1, | ||||
|             acl: { ability: ['TICKET-ETC-BLACK_LIST-deleteFreight'] }, | ||||
|             click: item => this.deleteAction(item) | ||||
|           }, | ||||
|           { | ||||
|             text: '删除', iif: () => this.tabType === 2, | ||||
|             text: '删除', | ||||
|             iif: () => this.tabType === 2, | ||||
|             acl: { ability: ['TICKET-ETC-BLACK_LIST-deleteCart'] }, | ||||
|             click: item => this.deleteAction(item) | ||||
|           } | ||||
|  | ||||
| @ -1,14 +1,4 @@ | ||||
| <!-- | ||||
|  * @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 [title]="'运单开票记录'"> | ||||
| </page-header-wrapper> | ||||
|  | ||||
| <nz-card class="search-box" nzBordered> | ||||
| @ -28,9 +18,18 @@ | ||||
|             </button> | ||||
|         </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 }" | ||||
|         [page]="{}" [loading]="false" [scroll]="{ x:'1200px' }"> | ||||
|  | ||||
| @ -2,28 +2,34 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
| import { TransactionDetailsComponent } from './transaction-details/transaction-details.component'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-etc-invoiced-list', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|   schema: SFSchema = this.initSF(); | ||||
|  | ||||
|   _$expand = false; | ||||
|   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) => { | ||||
|     if (this.sf) { | ||||
|       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 { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -106,10 +96,7 @@ export class ETCInvoicedListComponent implements OnInit { | ||||
|           ui: { | ||||
|             widget: 'dict-select', | ||||
|             params: { dictKey: 'etc:invoicing:status' }, | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请选择' | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -122,10 +109,7 @@ export class ETCInvoicedListComponent implements OnInit { | ||||
|             searchDebounceTime: 300, | ||||
|             searchLoadingText: '搜索中...', | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }) | ||||
|           } | ||||
|         }, | ||||
|         enterpriseInfoId: { | ||||
| @ -135,9 +119,6 @@ export class ETCInvoicedListComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           }, | ||||
|           default: '' | ||||
|  | ||||
| @ -1,17 +1,5 @@ | ||||
| <!-- | ||||
|  * @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 [title]="'已开发票'"> | ||||
| </page-header-wrapper> | ||||
|  | ||||
|  | ||||
| <nz-card class="search-box" nzBordered> | ||||
|     <div nz-row nzGutter="8"> | ||||
|         <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||
| @ -23,18 +11,26 @@ | ||||
|             class="text-right"> | ||||
|             <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</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()"> | ||||
|                 {{ !_$expand ? '展开' : '收起' }} | ||||
|                 <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
|             </button> | ||||
|         </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]="{}" | ||||
|         [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"> | ||||
|             {{item.driverName}}<br>{{item.driverCellphone}} | ||||
|         </ng-template> | ||||
|  | ||||
| @ -1,28 +1,29 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Component, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-etc-invoiced-logs', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   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) {} | ||||
|  | ||||
|   ngOnInit(): void {} | ||||
|   search() { | ||||
|     this.st?.load(1); | ||||
|   } | ||||
|  | ||||
|   beforeReq = (requestOptions: STRequestOptions) => { | ||||
|     if (this.sf) { | ||||
| @ -46,22 +47,6 @@ export class ETCInvoicedLogsComponent implements OnInit { | ||||
|     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() { | ||||
|     const params = { listSource: 1, pageSize: -1 }; | ||||
|     if (this.sf) { | ||||
| @ -107,10 +92,7 @@ export class ETCInvoicedLogsComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           title: '车牌号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         exTime: { | ||||
| @ -118,10 +100,7 @@ export class ETCInvoicedLogsComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'sl-from-to-search', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd' | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         invoiceMakeTime: { | ||||
| @ -129,20 +108,14 @@ export class ETCInvoicedLogsComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'sl-from-to-search', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd' | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         sellerName: { | ||||
|           type: 'string', | ||||
|           title: '销售方', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         ltdId: { | ||||
| @ -152,9 +125,6 @@ export class ETCInvoicedLogsComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           }, | ||||
|           default: '' | ||||
|  | ||||
| @ -1,14 +1,4 @@ | ||||
| <!-- | ||||
|  * @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 [title]="'申请记录'"> | ||||
| </page-header-wrapper> | ||||
| <nz-card class="search-box" nzBordered> | ||||
|     <div nz-row nzGutter="8"> | ||||
| @ -28,21 +18,36 @@ | ||||
|             </button> | ||||
|         </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> | ||||
|         <div class="ml-md"> | ||||
|             已选择 | ||||
|             <strong class="text-primary">{{ selectedRows.length }}</strong> 条运单 | ||||
|             <a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> | ||||
|         </div> | ||||
|     </div> | ||||
|     </div> --> | ||||
|  | ||||
|     <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"> | ||||
|             {{item.driverName}}<br>{{item.driverPhone}} | ||||
|         </ng-template> | ||||
|  | ||||
| @ -2,30 +2,32 @@ import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-etc-invoiced-requested', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   @ViewChild('auditModal', { static: false }) | ||||
|   auditModal!: any; | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|  | ||||
|   _$expand = false; | ||||
|   schema: SFSchema = this.initSF(); | ||||
|  | ||||
|   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) => { | ||||
|     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 { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -123,9 +109,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|           title: '司机姓名', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         driverPhone: { | ||||
| @ -133,9 +116,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|           title: '司机手机', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         licenseCarNo: { | ||||
| @ -143,9 +123,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|           title: '车牌号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         licenseBelonging: { | ||||
| @ -153,9 +130,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|           title: '车辆所有人', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         dischargePlace: { | ||||
| @ -164,9 +138,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|           ui: { | ||||
|             autocomplete: 'off', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         loadingPlace: { | ||||
| @ -175,9 +146,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|           ui: { | ||||
|             autocomplete: 'off', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         shipperId: { | ||||
| @ -190,9 +158,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|             searchLoadingText: '搜索中...', | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|         }, | ||||
|         enterpriseInfoName: { | ||||
| @ -202,9 +167,6 @@ export class ETCInvoicedRequestedComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           }, | ||||
|           default: '' | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <page-header-wrapper title="快递信息"> | ||||
| <!-- <page-header-wrapper title="快递信息"> | ||||
| </page-header-wrapper> | ||||
|  | ||||
| <nz-card class="search-box"> | ||||
| @ -12,13 +12,19 @@ | ||||
|             <button nz-button (click)="resetSF()">重置</button> | ||||
|         </div> | ||||
|     </div> | ||||
| </nz-card> | ||||
| </nz-card> --> | ||||
|  | ||||
| <nz-card class="content-box"> | ||||
|  | ||||
|     <div class="mt-md mb-sm"> | ||||
|         <button nz-button nzType="primary" (click)="printOrder()" acl  [acl-ability]="['TICKET-EXPRESS-INFO-print']">打印面单</button> | ||||
| <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 nzType="primary" [nzLoading]="service.http.loading" (click)="openDrawer()" acl | ||||
|                 [acl-ability]="['TICKET-EXPRESS-INFO-print']">筛选</button> | ||||
|         </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> | ||||
| @ -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 { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFDateWidgetSchema, SFSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
| import { ExpressDetailModalComponent } from './express-detail-modal/express-detail-modal.component'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-express-info', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|  | ||||
|   url = `/api/fcc/ficoExpressH/getListPage`; | ||||
|  | ||||
|   searchSchema: SFSchema = { | ||||
|   schema: SFSchema = { | ||||
|     properties: { | ||||
|       expressCode: { | ||||
|         title: '快递单号', | ||||
| @ -88,12 +78,16 @@ export class ExpressInfoComponent implements OnInit { | ||||
|  | ||||
|   selectedRows: any[] = []; | ||||
|  | ||||
|   reqParams = { pageIndex: 1, pageSize: 10 }; | ||||
|  | ||||
|   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) => { | ||||
|     if (this.sf) { | ||||
|       Object.assign(requestOptions.body, { | ||||
| @ -162,10 +156,4 @@ export class ExpressInfoComponent implements OnInit { | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
|   /** | ||||
|    * 重置表单 | ||||
|    */ | ||||
|   resetSF() { | ||||
|     this.sf.reset(); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| <page-header-wrapper [title]="'进项发票'"> | ||||
| <!-- <page-header-wrapper [title]="'进项发票'"> | ||||
| </page-header-wrapper> | ||||
|  | ||||
| <nz-card class="search-box" nzBordered> | ||||
| @ -19,20 +19,36 @@ | ||||
|             </button> | ||||
|         </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"> | ||||
|         <button nz-button (click)="this.addInvoice()" nzType="primary"  acl  [acl-ability]="['TICKET-INPUT-INVOICE-addInvoice']">添加发票</button> | ||||
|     <!-- <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> | ||||
|         <div class="ml-md"> | ||||
|             已选择 | ||||
|             <strong class="text-primary">{{ selectedRows.length }}</strong> 张发票 | ||||
|             <a *ngIf="selectedRows.length > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> | ||||
|         </div> | ||||
|     </div> | ||||
|     </div> --> | ||||
|  | ||||
|     <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> | ||||
| </nz-card> | ||||
| @ -1,32 +1,39 @@ | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Component, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| 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 { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
| import { AddCollectionInvoiceModalComponent } from './add-collection-invoice-modal/add-collection-invoice-modal.component'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-input-invoice', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   @ViewChild('auditModal', { static: false }) | ||||
|   auditModal!: any; | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|  | ||||
|   _$expand = false; | ||||
|   schema: SFSchema = this.initSF(); | ||||
|  | ||||
|   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) => { | ||||
|     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 { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -127,10 +118,7 @@ export class InputInvoiceComponent implements OnInit { | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请选择' | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -141,10 +129,7 @@ export class InputInvoiceComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.service.getCRMCustomerId(), | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             asyncData: () => this.service.getCRMCustomerId() | ||||
|           } | ||||
|         }, | ||||
|         createtime: { | ||||
| @ -152,10 +137,7 @@ export class InputInvoiceComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           ui: { | ||||
|             widget: 'sl-from-to-search', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd' | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         sts: { | ||||
| @ -168,10 +150,7 @@ export class InputInvoiceComponent implements OnInit { | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请选择' | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -180,40 +159,28 @@ export class InputInvoiceComponent implements OnInit { | ||||
|           title: '发票日期', | ||||
|           ui: { | ||||
|             widget: 'sl-from-to-search', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             format: 'yyyy-MM-dd' | ||||
|           } | ||||
|         }, | ||||
|         remarks: { | ||||
|           type: 'string', | ||||
|           title: '收票备注', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         billCode: { | ||||
|           type: 'string', | ||||
|           title: '订单号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         feecode: { | ||||
|           type: 'string', | ||||
|           title: '费用号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|  | ||||
| @ -1,16 +1,4 @@ | ||||
| <!-- | ||||
|  * @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> | ||||
|  | ||||
| <!-- <page-header-wrapper [title]="'开票申请'"> </page-header-wrapper> | ||||
| <nz-card class="search-box" nzBordered> | ||||
|   <div nz-row nzGutter="8"> | ||||
|     <div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24"> | ||||
| @ -27,19 +15,24 @@ | ||||
|       </button> | ||||
|     </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> | ||||
|     <div class="d-flex align-items-center" | ||||
|     <div class="d-flex align-items-center mr-sm" | ||||
|       *ngIf="resourceStatus==='1'|| resourceStatus==='2' || resourceStatus==='3' || !resourceStatus"> | ||||
|       <div class="mr-md"> | ||||
|         已选择 | ||||
| @ -47,17 +40,35 @@ | ||||
|         <strong class="text-red">{{ totalCallNo }}</strong> | ||||
|         <a *ngIf="totalCallNo > 0" (click)="st.clearCheck();totalCallNo=0" class="ml-lg">清空</a> | ||||
|       </div> | ||||
|       <button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" (click)="this.batchRequested()" acl  [acl-ability]="['TICKET-INVOICE-REQUESTED-userApply']">批量受理</button> | ||||
|       <button nz-button *ngIf="resourceStatus==='1' || !resourceStatus" | ||||
|         (click)="this.rejectAction(selectedRows)" acl  [acl-ability]="['TICKET-INVOICE-REQUESTED-reject']">驳回</button> | ||||
|       <button nz-button *ngIf="resourceStatus !=='4' && resourceStatus !=='5'" | ||||
|         (click)="changeAddress(selectedRows)" acl  [acl-ability]="['VEHICLE-LIST-search']">修改地址</button> | ||||
|       <button nz-button *ngIf="resourceStatus==='3' || !resourceStatus" (click)="printOrder(selectedRows)" acl  [acl-ability]="['VEHICLE-LIST-search']">快递下单</button> | ||||
|       <button nz-button nzDanger [nzLoading]="service.http.loading" (click)="openDrawer()">筛选</button> | ||||
|       <button nz-button nzDanger (click)="exprot()" acl [acl-ability]="['TICKET-INVOICE-REQUESTED-export']"> 导出</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 *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> | ||||
|   </ng-template> | ||||
|  | ||||
|   <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"> | ||||
|       {{ item.vatappcode }} <br /> | ||||
|       <label class="text-primary">{{item.stsLabel}}</label> | ||||
|  | ||||
| @ -1,7 +0,0 @@ | ||||
| :host::ng-deep { | ||||
|  | ||||
|     .ant-tabs-tab-btn { | ||||
|         padding-left : 16px; | ||||
|         padding-right: 16px; | ||||
|     } | ||||
| } | ||||
| @ -1,11 +1,11 @@ | ||||
| import { query } from '@angular/animations'; | ||||
| import { CurrencyPipe } from '@angular/common'; | ||||
| import { Component, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STComponent, STColumn, STChange, STRequestOptions } from '@delon/abc/st'; | ||||
| import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema } from '@delon/form'; | ||||
| import { SFSchema, SFDateWidgetSchema } from '@delon/form'; | ||||
| import { SearchDrawerService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { delay } from 'rxjs/operators'; | ||||
| import { BasicTableComponent } from 'src/app/routes/commom'; | ||||
|  | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
| import { PrintOrderModalComponent } from './print-order-modal/print-order-modal.component'; | ||||
| @ -15,26 +15,33 @@ import { UpdateAddressModalComponent } from './update-address-modal/update-addre | ||||
| @Component({ | ||||
|   selector: 'app-invoice-requested', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   @ViewChild('rejectModal', { static: false }) | ||||
|   rejectModal!: any; | ||||
|   resourceStatus: any = '1'; | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|  | ||||
|   _$expand = false; | ||||
|   schema: SFSchema = this.initSF(); | ||||
|  | ||||
|   totalCallNo = 0; | ||||
|   selectedRows: any[] = []; | ||||
|  | ||||
|   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) => { | ||||
|     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() { | ||||
|     this.service.exportStart({ ...this.sf?.value, pageSize: -1 }, this.service.$api_export_invoice_requested_page); | ||||
| @ -357,9 +348,6 @@ export class InvoiceRequestedComponent { | ||||
|           default: '', | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getEnterpriseProject() | ||||
|           } | ||||
|         }, | ||||
| @ -369,9 +357,6 @@ export class InvoiceRequestedComponent { | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             allowClear: true, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder() | ||||
|           }, | ||||
| @ -379,12 +364,7 @@ export class InvoiceRequestedComponent { | ||||
|         }, | ||||
|         otherremarks: { | ||||
|           type: 'string', | ||||
|           title: '其他需求', | ||||
|           ui: { | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|           } | ||||
|           title: '其他需求' | ||||
|         }, | ||||
|         createTime: { | ||||
|           title: '申请时间', | ||||
| @ -393,10 +373,7 @@ export class InvoiceRequestedComponent { | ||||
|             widget: 'sl-from-to-search', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             placeholder: '请选择', | ||||
|             nzShowTime: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             nzShowTime: true | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         isdetail: { | ||||
| @ -409,10 +386,7 @@ export class InvoiceRequestedComponent { | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请选择' | ||||
|           }, | ||||
|           default: '' | ||||
|         }, | ||||
| @ -425,10 +399,7 @@ export class InvoiceRequestedComponent { | ||||
|             searchDebounceTime: 300, | ||||
|             searchLoadingText: '搜索中...', | ||||
|             allowClear: true, | ||||
|             onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }), | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             onSearch: (q: any) => this.service.getEnterpriceList({ enterpriseName: q }) | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|  | ||||
| @ -1,14 +1,4 @@ | ||||
| <!-- | ||||
|  * @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> | ||||
| <!-- <page-header-wrapper [title]="'已开发票'"> </page-header-wrapper> | ||||
|  | ||||
| <nz-card class="search-box" nzBordered> | ||||
|   <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"> | ||||
|       <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> | ||||
|       <button nz-button (click)="resetSF()">重置</button> | ||||
|       <!-- <button nz-button> 导出</button> --> | ||||
|       <button nz-button nzType="link" (click)="expandToggle()"> | ||||
|         {{ !_$expand ? '展开' : '收起' }} | ||||
|         <i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i> | ||||
|       </button> | ||||
|     </div> | ||||
|   </div> | ||||
| </nz-card> | ||||
| </nz-card> --> | ||||
|  | ||||
| <nz-card nzBordered> | ||||
|   <div class="d-flex align-items-center mb-md"> | ||||
|     <!-- <button nz-button (click)="this.deletedInvoice()">作废发票</button> | ||||
| <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> | ||||
|     </div> | ||||
|   </div> | ||||
|   <!-- <button nz-button (click)="this.deletedInvoice()">作废发票</button> | ||||
|     <button nz-button (click)="this.invoiceHongChong()">发票红冲</button> --> | ||||
|     <!-- <div class="ml-md"> | ||||
|   <!-- <div class="ml-md"> | ||||
|       已选择 | ||||
|       <strong class="text-red">{{ selectedRows.length }}</strong> 条数据   开票金额总计 | ||||
|       <strong class="text-red">{{ totalCallNo }}</strong> | ||||
|       <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a> | ||||
|     </div> --> | ||||
|   </div> | ||||
|  | ||||
|   <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"> | ||||
|       {{ item.no }} | ||||
|       <a>预览发票</a> | ||||
| @ -63,13 +56,13 @@ | ||||
|  | ||||
| <ng-template #requestedModal> | ||||
|   <div nz-row nzGutter="8"> | ||||
|       <div nz-col nzSpan="24" se-container [labelWidth]="100"> | ||||
|           <se [col]="1" label="快递公司" required> | ||||
|               <input nz-input [(ngModel)]="openInfo.expresscompany" placeholder="请输入" /> | ||||
|           </se> | ||||
|           <se [col]="1" label="快递单号" required> | ||||
|               <input nz-input [(ngModel)]="openInfo.expressno" placeholder="请输入" /> | ||||
|           </se> | ||||
|       </div> | ||||
|     <div nz-col nzSpan="24" se-container [labelWidth]="100"> | ||||
|       <se [col]="1" label="快递公司" required> | ||||
|         <input nz-input [(ngModel)]="openInfo.expresscompany" placeholder="请输入" /> | ||||
|       </se> | ||||
|       <se [col]="1" label="快递单号" required> | ||||
|         <input nz-input [(ngModel)]="openInfo.expressno" placeholder="请输入" /> | ||||
|       </se> | ||||
|     </div> | ||||
|   </div> | ||||
| </ng-template> | ||||
| @ -1,27 +1,24 @@ | ||||
| import { CurrencyPipe } from '@angular/common'; | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Component, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| 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 { BasicTableComponent } from 'src/app/routes/commom'; | ||||
| import { TicketService } from '../../services/ticket.service'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-invoiced-list', | ||||
|   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 }) | ||||
|   st!: STComponent; | ||||
|   @ViewChild('sf', { static: false }) | ||||
|   sf!: SFComponent; | ||||
|   @ViewChild('logosticsLogsModal', { static: false }) | ||||
|   logosticsLogsModal!: any; | ||||
|   columns: STColumn[] = this.initST(); | ||||
|   searchSchema: SFSchema = this.initSF(); | ||||
|  | ||||
|   _$expand = false; | ||||
|   schema: SFSchema = this.initSF(); | ||||
|  | ||||
|   selectedRows: any[] = []; | ||||
|   totalCallNo = 0; | ||||
| @ -34,12 +31,21 @@ export class InvoicedListComponent implements OnInit { | ||||
|   @ViewChild('requestedModal', { static: false }) | ||||
|   requestedModal!: any; | ||||
|   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) => { | ||||
|     Object.assign(requestOptions.body,{sts: '3'}) | ||||
|     Object.assign(requestOptions.body, { sts: '3' }); | ||||
|     if (this.sf) { | ||||
|       Object.assign(requestOptions.body, { | ||||
|         ...this.sf?.value, | ||||
| @ -49,7 +55,7 @@ export class InvoicedListComponent implements OnInit { | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|     return requestOptions ; | ||||
|     return requestOptions; | ||||
|   }; | ||||
|  | ||||
|   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 { | ||||
|     return { | ||||
|       properties: { | ||||
| @ -220,20 +210,14 @@ export class InvoicedListComponent implements OnInit { | ||||
|             widget: 'sl-from-to-search', | ||||
|             format: 'yyyy-MM-dd', | ||||
|             placeholder: '请选择', | ||||
|             nzShowTime: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             nzShowTime: true | ||||
|           } as SFDateWidgetSchema | ||||
|         }, | ||||
|         artoname: { | ||||
|           type: 'string', | ||||
|           title: '购买人', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         ltdId: { | ||||
| @ -243,9 +227,6 @@ export class InvoicedListComponent implements OnInit { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             allowClear: true, | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             }, | ||||
|             asyncData: () => this.service.getNetworkFreightForwarder({}, true) | ||||
|           }, | ||||
|           default: '' | ||||
| @ -254,10 +235,7 @@ export class InvoicedListComponent implements OnInit { | ||||
|           type: 'string', | ||||
|           title: '分票编号', | ||||
|           ui: { | ||||
|             placeholder: '请输入', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请输入' | ||||
|           } | ||||
|         }, | ||||
|         invoicetype: { | ||||
| @ -269,10 +247,7 @@ export class InvoicedListComponent implements OnInit { | ||||
|           ], | ||||
|           ui: { | ||||
|             widget: 'select', | ||||
|             placeholder: '请选择', | ||||
|             visibleIf: { | ||||
|               expand: (value: boolean) => value | ||||
|             } | ||||
|             placeholder: '请选择' | ||||
|           }, | ||||
|           default: '' | ||||
|         } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user