import React from "react";
import Route from "react-router/lib/Route";
import { WeaLocaleProvider } from "ecCom";
import HistoricalPayroll from "./pages/historicalPayroll";
import SalaryAdjustmentRecords from "./pages/salaryAdjustmentRecords";
import MySalaryMobile from "./pages/mySalaryMobile";
import MySalary from "./pages/mySalaryBenefits";
import Programme from "./pages/socialSecurityBenefits/welfarePlan";
// import Archivess from "./pages/socialSecurityBenefits/archives";
import Archives from "./pages/socialSecurityBenefits/welfareArchive"; //社保福利档案重构页面
import StandingBook from "./pages/socialSecurityBenefits/standingBook/standingBook"; //社保福利台账重构页面
import StandingBookDetail from "./pages/socialSecurityBenefits/standingBookDetail";
import StandingBookOfflineComparison from "./pages/socialSecurityBenefits/standingBookOfflineComparison";
import SalaryItem from "./pages/salaryItem";
import SalaryFiles from "./pages/payrollFiles/salaryFiles";
import CumDeduct from "./pages/dataAcquisition/cumDeduct";
import OtherDeduct from "./pages/dataAcquisition/otherDeduct";
import CumSituation from "./pages/dataAcquisition/cumSituation";
import Attendance from "./pages/dataAcquisition/attendance";
import SpecialAddDeduction from "./pages/dataAcquisition/specialAddDeduction";
import Ledger from "./pages/ledgerPage";
// import Calculate from "./pages/calculate";
import Calculate from "./pages/calculate/calculate"; //重构的薪资核算页面
// import Payroll from "./pages/payroll";
import Payroll from "./pages/payrollRelease"; //重构的工资单发放页面
import PayrollGrant from "./pages/payroll/payrollGrant";
import PayrollDetail from "./pages/payroll/payrollDetail/payrollDetail";
// import Declare from "./pages/declare";
import Declare from "./pages/declare/declare"; //重构的个税申报表
import TaxRate from "./pages/taxRate";
import TaxAgent from "./pages/taxAgent";
import CalculateDetail from "./pages/calculateDetail";
import PlaceOnFileDetail from "./pages/calculateDetail/placeOnFileDetail";
import CompareDetail from "./pages/calculateDetail/compareDetail";
import DoCalcDetail from "./pages/calculate/doCalc";
import OfflineCompare from "./pages/calculate/calcOc";
import CalcView from "./pages/calculate/calcView";
import GenerateDeclarationDetail from "./pages/declare/generateDeclarationDetail";
import TemplatePreview from "./pages/payroll/templatePreview";
import PayrollTemplatePreview from "./pages/payroll/templatePreview/tmpPreview"; //重构的工资单模板预览页面
import MobilePayroll from "./pages/mobilePayroll";
import SysConfig from "./pages/sysConfig";
import RuleConfig from "./pages/ruleConfig/ruleConfig";
import Appconfig from "./pages/appConfig";
import FieldManagement from "./pages/fieldManagement";
import AnalysisOfSalaryStatistics from "./pages/analysisOfSalaryStatistics";
import EmployeeList from "./pages/employeeView";
import ReportView from "./pages/reportView";
import MySalaryView from "./pages/mySalary/mySalaryView";
import WatermarkPreview from "./pages/payroll/watermarkPreview";
import ExternalPersonManage from "./pages/externalPersonManage";
import AdjustSalaryManage from "./pages/adjustSalaryManage";
import TopologyMap from "./pages/topologyMap";
import SupplementaryCalc from "./pages/supplementaryCalc";
import VariableSalary from "./pages/variableSalary";
import Layout from "./layout";

import CustomRoutes from "./pages/custom-pages";
import stores from "./stores";
import "./style/index";
// 读取系统多语言配置
let getLocaleLabel = WeaLocaleProvider.getLocaleLabel.bind(this, "hrmSalary");
// 不需要读取系统多语言
getLocaleLabel = function (nextState, replace, callback) {
  callback();
};
const SocialSecurityBenefits = (props) => props.children;
const DataAcquisition = (props) => props.children;
const Routes = (
  <Route key="hrmSalary" path="hrmSalary" onEnter={getLocaleLabel} component={Layout}>
    <Route key="historicalPayroll" path="historicalPayroll" component={HistoricalPayroll}/>
    <Route key="salaryAdjustmentRecords" path="salaryAdjustmentRecords" component={SalaryAdjustmentRecords}/>
    <Route key="mySalaryMobile" path="mySalaryMobile" component={MySalaryMobile}/>
    <Route key="mySalary" path="mySalary" component={MySalary}/>
    <Route key="mySalaryView" path="mySalary/:salaryInfoId" component={MySalaryView}/>
    <Route key="socialSecurityBenefits" path="socialSecurityBenefits" component={SocialSecurityBenefits}>
      <Route key="programme" path="programme" component={Programme}/>
      <Route key="archives" path="archives" component={Archives}/>
      <Route key="standingBook" path="standingBook" component={StandingBook}/>
      <Route key="standingBookDetail" path="standingBookDetail" component={StandingBookDetail}/>
      <Route key="sbofflineComparison" path="sbofflineComparison" component={StandingBookOfflineComparison}/>
    </Route>
    <Route key="salaryItem" path="salaryItem" component={SalaryItem}/>
    <Route key="salaryFile" path="salaryFile" component={SalaryFiles}/>
    <Route key="adjustSalaryManage" path="adjustSalaryManage" component={AdjustSalaryManage}/>
    <Route key="dataAcquisition" path="dataAcquisition" component={DataAcquisition}>
      <Route key="cumDeduct" path="cumDeduct" component={CumDeduct}/>
      <Route key="otherDeduct" path="otherDeduct" component={OtherDeduct}/>
      <Route key="cumSituation" path="cumSituation" component={CumSituation}/>
      <Route key="attendance" path="attendance" component={Attendance}/>
      <Route key="specialAddDeduction" path="specialAddDeduction" component={SpecialAddDeduction}/>
    </Route>
    <Route key="ledger" path="ledger" component={Ledger}/>
    <Route key="calculate" path="calculate" component={Calculate}/>
    <Route key="calculateDetail" path="calculateDetail" component={CalculateDetail}/>
    <Route key="doCalc" path="calculate/:salaryAcctRecordId" component={DoCalcDetail}/>
    <Route key="calcOc" path="calcOc/:salaryAcctRecordId" component={OfflineCompare}/>
    <Route key="calcView" path="calcView/:salaryAcctRecordId" component={CalcView}/>
    <Route key="placeOnFileDetail" path="placeOnFileDetail" component={PlaceOnFileDetail}/>
    <Route key="compareDetail" path="compareDetail" component={CompareDetail}/>
    <Route key="payroll" path="payroll" component={Payroll}/>
    <Route key="watermarkPreview" path="payroll/watermark/preview" component={WatermarkPreview}/>
    <Route key="payrollGrant" path="payrollGrant" component={PayrollGrant}/>
    <Route key="payrollDetail" path="payrollDetail" component={PayrollDetail}/>
    <Route key="templatePreview" path="templatePreview" component={TemplatePreview}/>
    <Route key="payrollinfo" path="payrollinfo" component={PayrollTemplatePreview}/>
    <Route key="declare" path="declare" component={Declare}/>
    <Route key="generateDeclarationDetail" path="generateDeclarationDetail" component={GenerateDeclarationDetail}/>
    <Route key="taxRate" path="taxRate" component={TaxRate}/>
    <Route key="taxAgent" path="taxAgent" component={TaxAgent}/>
    <Route key="mobilepayroll" path="mobilepayroll" component={MobilePayroll}/>
    <Route key="sysconfig" path="sysconfig" component={SysConfig}/>
    <Route key="sysconfig-1" path="sysconfig-1" component={RuleConfig}/>
    <Route key="appconfig" path="appconfig" component={Appconfig}/>
    <Route key="fieldManagement" path="fieldManagement" component={FieldManagement}/>
    <Route key="analysisOfSalaryStatistics" path="analysisOfSalaryStatistics" component={AnalysisOfSalaryStatistics}/>
    <Route key="analysisOfSalaryStatisticsId" path="analysisOfSalaryStatistics/:employeeId" component={EmployeeList}/>
    <Route key="reportView" path="reportView" component={ReportView}/>
    <Route key="externalPersonManage" path="externalPersonManage" component={ExternalPersonManage}/>
    <Route key="topologyView" path="topologyView/:salarySobId/:salaryItemId" component={TopologyMap}/>
    <Route key="supplementaryCalc" path="supplementaryCalc" component={SupplementaryCalc}/>
    <Route key="variableSalary" path="variableSalary" component={VariableSalary}/>
    {CustomRoutes}
  </Route>
);

module.exports = {
  Route: Routes,
  store: stores
};
