/*
 * @Author: code4eat awesomedema@gmail.com
 * @Date: 2022-12-14 14:14:32
 * @LastEditors: code4eat awesomedema@gmail.com
 * @LastEditTime: 2025-07-15 10:26:19
 * @FilePath: /BudgetManaSystem/.umirc.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { defineConfig } from '@umijs/max';

const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
const { REACT_APP_ENV } = process.env;


export default defineConfig({
  hash:true,
  antd: {
    configProvider: {
      prefixCls: 'bms-ant',
    },
  },
  qiankun: {
    slave: {},
  },
  chainWebpack(config, { webpack }) {
    config.plugin('monaco-editor').use(MonacoWebpackPlugin, [
      {
        // 你可以在这里指定需要加载的语言和特性
        languages: ['sql', 'javascript', 'typescript']
      }
    ]);
  },
  mfsu: false,
  lessLoader: {
    modifyVars: {
      '@ant-prefix': 'bms-ant',
      '@primary-color': '#3377FF',
      '@border-color-base': '#dae2f2'
    },
    javascriptEnabled: true,
  }, //对应修改生成的 antd 样式类名



  access: {},
  model: {},
  esbuildMinifyIIFE:true,
  initialState: {},
  request: {},
  layout: {
    title: '前瞻性绩效管理',
    layout: 'side',
    menuProps: {
      theme: 'light',
    }
  },
  manifest: {
    basePath: '/',
  },
  publicPath: REACT_APP_ENV == 'dev' ? '/' : '/perform/',
  proxy: {

    '/gateway': {
      target: 'http://120.27.235.181:5000/gateway',//开发
      //target:'http://47.96.149.190:5000/gateway', //演示
      changeOrigin: true,
      // pathRewrite: { '^/gateway': '' },

    }
  },
  routes: [
    {
      path: '/',
      redirect: '/home',
    },
    {
      path: '/noAccess',
      component: './noAccess',
    },
    {
      name: '首页',
      path: '/home',
      component: './Home',
      wrappers: ['@/authWrapper'],
    },
  
    // {
    //   name: '静态测试',
    //   path: '/static',
    //   component: './static',
    // },
    {
      name: '系统设置',
      path: '/setting',
      routes: [
        {
          name: '基础设置',
          path: '/setting/baseSetting',
          routes: [
            {
              name: '业务字典分类管理',
              path: '/setting/baseSetting/dicClassfication',
              component: './setting/baseSetting/dicClassfication',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '业务字典管理',
              path: '/setting/baseSetting/businessDicMana',
              component: './setting/baseSetting/businessDicMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '参数管理',
              path: '/setting/baseSetting/paramsMana',
              component: './setting/baseSetting/paramsMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '职类基础设定',
              path: '/setting/baseSetting/jobCateBaseSet',
              component: './setting/baseSetting/jobCateBaseSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '岗位等级系数设定',
              path: '/setting/baseSetting/positionLevelRateSet',
              component: './setting/baseSetting/positionLevelRateSet',
              wrappers: ['@/authWrapper'],
            },
          ]
        },
        {
          name: '项目设置',
          path: '/setting/projectSetting',
          routes: [
            {
              name: '收费项目管理',
              path: '/setting/projectSetting/bilingProjectMana',
              component: './setting/projectSetting/bilingProjectMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '静态测试',
              path: '/setting/projectSetting/static/:pageCode',
              component: './setting/projectSetting/bilingProjectMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '指标项目管理',
              path: '/setting/projectSetting/indicProjectMana',
              component: './setting/projectSetting/indicProjectMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '二次分配项目管理',
              path: '/setting/projectSetting/secondaryProjectDistribute',
              component: './setting/projectSetting/secondaryProjectDistribute',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '非考核项目管理',
              path: '/setting/projectSetting/nonAssessmentProjectMana',
              component: './setting/projectSetting/nonAssessmentProjectMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '保留考核项目管理',
              path: '/setting/projectSetting/retentionAssessmentProjectMana',
              component: './setting/projectSetting/retentionAssessmentProjectMana',
              wrappers: ['@/authWrapper'],
            },{
              name: '职类保留考核设定',
              path: '/setting/projectSetting/jobCateRetenSet',
              component: './setting/projectSetting/jobCateRetenSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '职类二次分配设定',
              path: '/setting/projectSetting/occupationsSecondaryDistriSet',
              component: './setting/projectSetting/occupationsSecondaryDistriSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '核算单元项目设定',
              path: '/setting/projectSetting/checkUnitProjectSet',
              component: './setting/projectSetting/checkUnitProjectSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '成本收入项目设定',
              path: '/setting/projectSetting/costIncomeProjectSet',
              component: './setting/projectSetting/costIncomeProjectSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '二次分配分组设定',
              path: '/setting/projectSetting/secondaryDistriGroupSet',
              component: './setting/projectSetting/secondaryDistriGroupSet',
              wrappers: ['@/authWrapper'],
            },
          ]
        },
        {
          name: '管理绩效设置',
          path: '/setting/manaPerformanceSet',
          routes: [
            {
              name: '管理指标项目设定',
              path: '/setting/manaPerformanceSet/manaIndicItemSet',
              component: './setting/manaPerformanceSet/manaIndicItemSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '职类考核分级设定',
              path: '/setting/manaPerformanceSet/classAssessAndGradeSet',
              component: './setting/manaPerformanceSet/classAssessAndGradeSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '指标分组权重设定',
              path: '/setting/manaPerformanceSet/indicGroupWeightSet',
              component: './setting/manaPerformanceSet/indicGroupWeightSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '单元指标目标设定',
              path: '/setting/manaPerformanceSet/unitIndicTargetSet',
              component: './setting/manaPerformanceSet/unitIndicTargetSet',
              wrappers: ['@/authWrapper'],
            },
          ]
        },
        {
          name: '报表设置',
          path: '/setting/reportSet',
          routes: [
            {
              name: '报表列管理',
              path: '/setting/reportSet/reportListMana',
              component: './setting/reportSet/reportListMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '报表设置',
              path: '/setting/reportSet/reportSetting',
              component: './setting/reportSet/reportSetting',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '报表跳转管理',
              path: '/setting/reportSet/reportNavSet',
              component: './setting/reportSet/reportNavSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '自定义SQL管理',
              path: '/setting/reportSet/diySqlMana',
              component: './setting/reportSet/diySqlMana',
              wrappers: ['@/authWrapper'],
            }
          ]
        },
        {
          name: '核算单元设置',
          path: '/setting/checkUnitSet',
          routes: [
            {
              name: '核算单元分类管理',
              path: '/setting/checkUnitSet/checkUnitClassMana',
              component: './setting/checkUnitSet/checkUnitClassMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '核算单元管理',
              path: '/setting/checkUnitSet/checkUnitMana',
              component: './setting/checkUnitSet/checkUnitMana',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '核算单元科室对照',
              path: '/setting/checkUnitSet/checkUnitDepMap',
              component: './setting/checkUnitSet/checkUnitDepMap',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '核算单元人员设定',
              path: '/setting/checkUnitSet/checkUnitEmpSet',
              component: './setting/checkUnitSet/checkUnitEmpSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '医疗组设定',
              path: '/setting/checkUnitSet/medicalGroupSet',
              component: './setting/checkUnitSet/medicalGroupSet',
              wrappers: ['@/authWrapper'],
            },
            {
              name: '检视单元权限设定',
              path: '/setting/checkUnitSet/viewUnitPermSet',
              component: './setting/checkUnitSet/viewUnitPermSet',
              wrappers: ['@/authWrapper'],
            }
          ]
        },

      ]
    },
    {
      name: '绩校管理',
      path: '/budgetMana',
      routes: [
        {
          name: '月度结转',
          path: '/budgetMana/monthlySet',
          component: './budgetMana/monthlySet',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '月度设置信息核对',
          path: '/budgetMana/monthlyInfoCheck',
          component: './budgetMana/monthlyInfoCheck',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '月度绩效数据核对',
          path: '/budgetMana/monthlyDataCheck',
          component: './budgetMana/monthlyDataCheck',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '人事薪酬预算',
          path: '/budgetMana/personnelSalaryBudget',
          component: './budgetMana/personnelSalaryBudget',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '一次分配',
          path: '/budgetMana/oneBatch',
          component: './budgetMana/oneBatch',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '特殊数据导入',
          path: '/budgetMana/specialDataImport',
          component: './budgetMana/specialDataImport',
          wrappers: ['@/authWrapper'],
        }
      ]
    },
    {
      name: '报表查询',
      path: '/reportCheck',
      routes: [
        {
          path: '/reportCheck/report/:reportCode',
          component: './reportCheck/report',
          wrappers: ['@/authWrapper'],
        },
      ]
    },
    {
      name: '二次分配',
      path: '/secondaryDistribute',
      routes: [
        {
          name: '人员信息核对',
          path: '/secondaryDistribute/employeeInfoCheck',
          component: './secondaryDistribute/employeeInfoCheck',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '非考核项目核定',
          path: '/secondaryDistribute/nonCheckProjectApprove',
          component: './secondaryDistribute/nonCheckProjectApprove',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '单元考核项目评分',
          path: '/secondaryDistribute/unitCheckProjectScore',
          component: './secondaryDistribute/unitCheckProjectScore',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '二次分配计算',
          path: '/secondaryDistribute/secondaryDitriComputed',
          component: './secondaryDistribute/secondaryDitriComputed',
          wrappers: ['@/authWrapper'],
        },
        {
          name: '二次分配审核',
          path: '/secondaryDistribute/secondaryDitriCheck',
          component: './secondaryDistribute/secondaryDitriComputed',
          wrappers: ['@/authWrapper'],
        },

      ]
    },
    {
      name: '交叉分析',
      path: '/crosstabReport',
      routes: [
        {
          name: '国考指标',
          path: '/crosstabReport/nationalIndicator',
          // wrappers: ['@/authWrapper'],
          routes: [{}]
        },
        {
          name: '经营分析',
          path: '/crosstabReport/businessAnalysis',
          routes: [
            {
              name: '大屏-全院分析',
              path: '/crosstabReport/businessAnalysis/hospitalAnalysis',
              // wrappers: ['@/authWrapper'],
              routes: [{}]
            },
            {
              name: '大屏-住院分析',
              path: '/crosstabReport/businessAnalysis/inpAnalysis',
              // wrappers: ['@/authWrapper'],
              routes: [{}]
            },
            {
              name: '大屏-门诊分析',
              path: '/crosstabReport/businessAnalysis/opdAnalysis',
              // wrappers: ['@/authWrapper'],
              routes: [{}]
            },
            {
              name: '收入分析',
              path: '/crosstabReport/businessAnalysis/incomeAnalysis',
              // wrappers: ['@/authWrapper'],
              routes: [{}]
            },
          ]
        },
        {
          name: '成本分析',
          path: '/crosstabReport/costAnalysis',
          // wrappers: ['@/authWrapper'],
          routes: [{}]
        },
        {
          name: '财务报表分析',
          path: '/crosstabReport/financialReportAnalysis',
          // wrappers: ['@/authWrapper'],
          routes: [{}]
        },
      ]
    },
  ],
  npmClient: 'yarn',
});

