import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FreightAccountComponent } from './components/freight-account/freight-account.component';
import { DriverAccountComponent } from './components/driver-account/driver-account.component';
import { RechargeRecordComponent } from './components/recharge-record/recharge-record.component';
import { WithdrawalsRecordComponent } from './components/withdrawals-record/withdrawals-record.component';
import { SharedModule } from '@shared';
import { FinancialManagementRoutingModule } from './financial-managemen-routing.module';
import { FreightAccountDetailComponent } from './components/freight-account/freight-account-detail/freight-account-detail.component';
import { DriverAccountDetailComponent } from './components/driver-account/driver-account-detail/driver-account-detail.component';
import { WithdrawalsDetailComponent } from './components/withdrawals-record/withdrawals-detail/withdrawals-detail.component';
import { CostManagementComponent } from './components/cost-management/cost-management.component';
import { AbnormalGoldComponent } from './components/abnormal-gold/abnormal-gold.component';
import { PaymentRecordComponent } from './components/payment-record/payment-record.component';
import { TransactionFlowComponent } from './components/transaction-flow/transaction-flow.component';
import { ClearingModalComponent } from './components/abnormal-gold/clearing-modal/clearing-modal.component';
import { CostManagementDetailComponent } from './components/cost-management/cost-management-detail/cost-management-detail.component';
import { ExpensesReceivableComponent } from './components/cost-management/expenses-receivable/expenses-receivable.component';
import { ExpensesPayableComponent } from './components/cost-management/expenses-payable/expenses-payable.component';
import { PaymentOrderComponent } from './components/payment-order/payment-order.component';
import { ReceiptOrderComponent } from './components/receipt-order/receipt-order.component';
import { VoucherManagementComponent } from './components/voucher-management/voucher-management.component';
import { VoucherSummaryComponent } from './components/voucher-summary/voucher-summary.component';
import { ReceivableOrderComponent } from './components/receivable-order/receivable-order.component';
import { PayableOrderComponent } from './components/payable-order/payable-order.component';
import { ReceivableOrderDetailComponent } from './components/receivable-order/receivable-order-detail/receivable-order-detail.component';
import { PayableOrderDetailComponent } from './components/payable-order/payable-order-detail/payable-order-detail.component';
import { VoucherDetailComponent } from './components/voucher-management/voucher-detail/voucher-detail.component';
import { SummaryDetailComponent } from './components/voucher-summary/summary-detail/summary-detail.component';
import { PaymentOrderDetailComponent } from './components/payment-order/payment-order-detail/payment-order-detail.component';
import { VoucherListComponent } from './components/voucher-summary/voucher-list/voucher-list.component';
import { ReceiptOrderDetailComponent } from './components/receipt-order/receipt-order-detail/receipt-order-detail.component';
import { PlatformAccountComponent } from './components/platform-account/platform-account.component';
import { PlatformAccountDetailComponent } from './components/platform-account/platform-account-detail/platform-account-detail.component';
import { AdvanceCollectionComponent } from './components/advance-collection/advance-collection.component';
import { AdvanceCollectionDetailComponent } from './components/advance-collection/advance-collection-detail/advance-collection-detail.component';
import { RefundRecordComponent } from './components/refund-record/refund-record.component';
import { AbnormalGoldDetailComponent } from './components/abnormal-gold/abnormal-gold-detail/abnormal-gold-detail.component';
import { CwcBankCardManagementIndexComponent } from './components/bank-card-management/index/index.component';
import { CwcBankCardManagementBindComponent } from './components/bank-card-management/bind/bind.component';
import { CwcBankCardManagementAddComponent } from './components/bank-card-management/add/add.component';
import { CwcAccountManagementWithdrawDepositComponent } from './components/platform-account/withdraw-deposit/withdraw-deposit.component';

const ROUTESCOMPONENTS = [
  FreightAccountComponent,
  DriverAccountComponent,
  RechargeRecordComponent,
  WithdrawalsRecordComponent,
  WithdrawalsDetailComponent,
  AbnormalGoldComponent,
  PaymentRecordComponent,
  TransactionFlowComponent,
  CostManagementComponent,
  CostManagementDetailComponent,
  ExpensesReceivableComponent,
  ExpensesPayableComponent,
  PaymentOrderComponent,
  ReceiptOrderComponent,
  VoucherManagementComponent,
  VoucherDetailComponent,
  VoucherSummaryComponent,
  SummaryDetailComponent,
  ReceivableOrderComponent,
  PayableOrderComponent,
  ReceivableOrderDetailComponent,
  PayableOrderDetailComponent,
  PlatformAccountComponent,
  PlatformAccountDetailComponent,
  PaymentOrderDetailComponent,
  VoucherListComponent,
  ReceiptOrderDetailComponent,
  AdvanceCollectionComponent,
  AdvanceCollectionDetailComponent,
  RefundRecordComponent,
  AbnormalGoldDetailComponent,
  CwcBankCardManagementIndexComponent,
  CwcBankCardManagementBindComponent,
  CwcBankCardManagementAddComponent,
  CwcAccountManagementWithdrawDepositComponent
];

const NOTROUTECOMPONENTS = [DriverAccountDetailComponent, FreightAccountDetailComponent, ClearingModalComponent];

@NgModule({
  declarations: [...ROUTESCOMPONENTS, ...NOTROUTECOMPONENTS],
  imports: [CommonModule, FinancialManagementRoutingModule, SharedModule]
})
export class FinancialManagementModule { }
