import Layout from '@/layout/index.vue'
import MenuBox from '@/components/menu/index.vue'
import { createNameComponent } from '../createNode'

const route = [
  {
    path: '/login',
    component: createNameComponent(() => import('@/views/system/login.vue')),
    hideMenu: true,
    meta: { title: '登录', hideTabs: true },
  },
  {
    path: '/',
    component: Layout,
    redirect: '/dashboard',
    meta: { title: '工作集成平台', icon: 'el-icon-menu' },
    children: [
      {
        path: 'dashboard',
        component: createNameComponent(() => import('@/views/dashboard/index.vue')),
        meta: { title: '首页', icon: 'el-icon-menu', hideClose: true },
      },
    ],
  },
  // 这里以下都是临时新加的
  {
    path: '/medins',
    component: Layout,
    meta: { title: '医保模块', icon: 'iconfont icon-yibao' },
    children: [
      {
        path: 'inpatient',
        component: createNameComponent(() => import('@/views/medical-insurance/inpatient/Home.vue')),
        meta: { title: '住院医保', icon: 'iconfont icon-yibao' },
        redirect: '/medins/inpatient/admRegistration',
        children: [
          {
            path: 'admRegistration',
            component: createNameComponent(() => import('@/views/medical-insurance/inpatient/AdmRegistration.vue')),
            meta: { title: '医保入院登记', icon: 'iconfont icon-ruyuandengji' },
          },
          {
            path: 'inHospFeeUpload',
            component: createNameComponent(() => import('@/views/medical-insurance/inpatient/InHospFeeUpload.vue')),
            meta: { title: '医保费用上传', icon: 'iconfont icon-feiyongshangchuan' },
          },
          {
            path: 'discSettlement',
            component: createNameComponent(() => import('@/views/medical-insurance/inpatient/DiscSettlement.vue')),
            meta: { title: '医保出院结算', icon: 'iconfont icon-chuyuan' },
          },
          {
            path: 'medInsVerification',
            component: createNameComponent(() => import('@/views/medical-insurance/inpatient/MedInsVerification.vue')),
            meta: { title: '医保身份审核', icon: 'iconfont icon-yibaoshenhe' },
          },
        ],
      },
      {
        path: 'outpatient',
        component: MenuBox,
        meta: { title: '门诊医保', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
        children: [
          {
            path: 'mzRegister',
            component: createNameComponent(() => import('@/views/medical-insurance/outpatient/MzRegister.vue')),
            meta: { title: '门诊登记', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'mzSpltryRcrd',
            component: createNameComponent(() => import('@/views/medical-insurance/outpatient/MzSpltryRcrd.vue')),
            meta: { title: '门诊补录', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'spcChrRcd',
            component: createNameComponent(() => import('@/views/medical-insurance/outpatient/SpcChrRcd.vue')),
            meta: { title: '慢特病备案', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
        ],
      },
      {
        path: 'qryManage',
        component: MenuBox,
        meta: { title: '查询与管理', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
        children: [
          {
            path: 'catalogue',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/Catalogue.vue')),
            meta: { title: '目录管理', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'psnInfo',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/PsnInfo.vue')),
            meta: { title: '医保身份查询', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'inhospInfo',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/InhospInfo.vue')),
            meta: { title: '在院查询', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'visitInfo',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/VisitInfo.vue')),
            meta: { title: '就诊信息查询', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'siSettleDetailList',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/SiSettleDetailList.vue')),
            meta: { title: '医保结算单', icon: 'iconfont icon-zhuyuanqingdan' },
          },
          {
            path: 'setllistReconciliation',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/SetllistReconciliation.vue')),
            meta: { title: '结算与对账', icon: 'iconfont icon-menzhenteshubingdingdianbiangeng2' },
          },
          {
            path: 'setSheetUpload',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/SetSheetUpload.vue')),
            meta: { title: '结算单上传', icon: 'iconfont icon-jiesuandanshangchuan' },
          },
          {
            path: 'setlStatistics',
            component: createNameComponent(() => import('@/views/medical-insurance/allpatient/SetlStatistics.vue')),
            meta: { title: '异地结算统计', icon: 'iconfont icon-zhuyuanqingdan' },
          },
        ],
      },
    ],
  },
  {
    path: '/inspections',
    component: Layout,
    meta: { title: '检验检查', icon: 'iconfont icon-jiancha' },
    children: [
      {
        path: 'inspectionReportIndex',
        component: createNameComponent(() => import('@/views/examination/InspectionReportIndex.vue')),
        meta: { title: '检验报告', icon: 'iconfont icon-jianyanbaogao' },
      },
      {
        path: 'covidExamResult',
        component: createNameComponent(() => import('@/views/examination/CovidExamResult.vue')),
        meta: { title: '新冠核酸检测报告', icon: 'iconfont icon-xinguan' },
      },
      {
        path: 'healthCrdUpld',
        component: createNameComponent(() => import('@/views/examination/UploadToHealthCard.vue')),
        meta: { title: '健康证对接', icon: 'iconfont icon-jiankangzheng' },
      },
      {
        path: 'bookableManagement',
        component: createNameComponent(() => import('@/views/examination/BookableManagement.vue')),
        meta: { title: '检验检查预约维护', icon: 'iconfont icon-yuyuedingdan' },
      },
    ],
  },
  {
    path: '/medTecMod',
    component: Layout,
    meta: { title: '医技模块', icon: 'iconfont icon-yijimokuai' },
    children: [
      {
        path: 'yiJiFeiYongLuRu',
        component: createNameComponent(() => import('@/views/med-tec-mod/YiJiFeiYongLuRu.vue')),
        meta: { title: '医技费用录入', icon: 'iconfont icon-yiJiFeiYongLuRu' },
      },
      {
        path: 'queRenYiZhuShouFei',
        component: createNameComponent(() => import('@/views/med-tec-mod/QueRenYiZhuShouFei.vue')),
        meta: { title: '确认医嘱费用', icon: 'iconfont icon-queRenYiZhuShouFei' },
      },
      {
        path: 'menZhenXiangMu',
        component: createNameComponent(() => import('@/views/med-tec-mod/MenZhenXiangMu.vue')),
        meta: { title: '门诊项目确认或取消', icon: 'iconfont icon-menZhenXiangMu' },
      },
    ],
  },
  {
    path: '/dictionary',
    component: Layout,
    meta: { title: '字典准备', icon: 'iconfont icon-xiangmuzidian' },
    children: [
      {
        path: 'prjctMdcnMtch',
        component: createNameComponent(() => import('@/views/dictionary/NationalSiMatch.vue')),
        meta: { title: '项目药品匹配', icon: 'iconfont icon-pipei' },
      },
      {
        path: 'deptMatch',
        component: createNameComponent(() => import('@/views/dictionary/YiBaoKeShiPiPei.vue')),
        meta: { title: '医保科室匹配', icon: 'iconfont icon-pipei' },
      },
    ],
  },
  {
    path: '/reports',
    component: Layout,
    meta: { title: '报表模块', icon: 'iconfont icon-baobiaomokuai' },
    children: [
      {
        path: 'deptPriodRprt',
        component: createNameComponent(() => import('@/views/reports/DeptPeriodReport.vue')),
        meta: { title: '科室时段报表', icon: 'iconfont icon-shiduanfenxi' },
      },
      {
        path: 'infntChrgRprt',
        component: createNameComponent(() => import('@/views/reports/InfantFeeReport.vue')),
        meta: { title: '婴儿收费统计', icon: 'iconfont icon-yinger' },
      },
      {
        path: 'mdcnStckCnt',
        component: createNameComponent(() => import('@/views/reports/MedicineStockCount.vue')),
        meta: { title: '药品盘点', icon: 'iconfont icon-yaopin' },
      },
      {
        path: 'clockinStatistics',
        component: createNameComponent(() => import('@/views/reports/ClockinData.vue')),
        meta: { title: '打卡数据', icon: 'iconfont icon-dakashuju' },
      },
      {
        path: 'covidVaccinateAppointment',
        component: createNameComponent(() => import('@/views/reports/covid-vaccinate/CovidVaccinateAppointment.vue')),
        meta: { title: '新冠接种预约', icon: 'iconfont icon-xinguanjiezhong' },
      },
      {
        path: 'inquiryOfConsultationFee',
        component: createNameComponent(() => import('@/views/reports/InquiryOfConsultationFee.vue')),
        meta: { title: '查询会诊费用', icon: 'iconfont icon-feiyongshenqing' },
      },
      {
        path: 'consumablesStatistics',
        component: createNameComponent(() => import('@/views/reports/ConsumablesStatistics.vue')),
        meta: { title: '耗材使用统计', icon: 'iconfont icon-haocaitongji' },
      },
      {
        path: 'illegalChargesAnalysis',
        component: createNameComponent(() => import('@/views/reports/IllegalChargesAnalysis.vue')),
        meta: { title: '违规收费分析', icon: 'iconfont icon-weiguishoufeifenxi' },
      },
      {
        path: 'queryPayService',
        component: createNameComponent(() => import('@/views/reports/QueryPayService.vue')),
        meta: { title: '收费项目', icon: 'iconfont icon-shoufeixiangmu' },
      },
      {
        path: 'drugInquiry',
        component: createNameComponent(() => import('@/views/reports/DrugInquiry.vue')),
        meta: { title: '查询药品', icon: 'iconfont icon-chaxunyaopin' },
      },
      {
        path: 'yuanNeiTongJi',
        component: createNameComponent(() => import('@/views/reports/YuanNeiTongJi.vue')),
        meta: { title: '院内统计', icon: 'iconfont icon-haocaitongji' },
      },
      {
        path: 'keShiShouRuTongJi',
        component: createNameComponent(() => import('@/views/reports/KeShiShouRuTongJi.vue')),
        meta: { title: '科室收入统计', icon: 'iconfont icon-keShiShouRuTongJi' },
      },
    ],
  },
  {
    path: '/dataModify',
    component: Layout,
    meta: { title: '数据修改', icon: 'iconfont icon-shujuxiugai' },
    children: [
      {
        path: 'yzActOrderModify',
        component: createNameComponent(() => import('@/views/data-modify/YzActOrderModify.vue')),
        meta: { title: '医嘱修改申请', icon: 'iconfont icon-yizhu' },
      },
      {
        path: 'zyChargeFeeModify',
        component: createNameComponent(() => import('@/views/data-modify/ZyChargeFeeModify.vue')),
        meta: { title: '住院费用修改', icon: 'iconfont icon-zhuyuanfeiyongfenxi' },
      },
      {
        path: 'yzActOrderModifyVerify',
        component: createNameComponent(() => import('@/views/data-modify/YzActOrderModifyVerify.vue')),
        meta: { title: '医嘱修改审核', icon: 'iconfont icon-yizhuxiugaishenhe' },
      },
      {
        path: 'yzTemperatureModify',
        component: createNameComponent(() => import('@/views/data-modify/YzTemperatureModify.vue')),
        meta: { title: '护理记录单修改', icon: 'iconfont icon-hulijiludan' },
      },
      {
        path: 'secondFefund',
        component: createNameComponent(() => import('@/views/data-modify/SecondFefund.vue')),
        meta: { title: '二次退费', icon: 'iconfont icon-ercituifei' },
      },
      {
        path: 'queryOfReceiptDetails',
        component: createNameComponent(() => import('@/views/data-modify/QueryOfReceiptDetails.vue')),
        meta: { title: '入库明细查询', icon: 'iconfont icon-rukuguanli' },
      },
      {
        path: 'deliveryDetailsQuery',
        component: createNameComponent(() => import('@/views/data-modify/DeliveryDetailsQuery.vue')),
        meta: { title: '出库明细查询', icon: 'iconfont icon-chukuguanli' },
      },
    ],
  },

  {
    path: '/inpatient',
    component: Layout,
    meta: { title: '住院模块', icon: 'iconfont icon-yiyuan' },
    children: [
      {
        path: 'makeDbzFees',
        component: createNameComponent(() => import('@/views/hospitalization/MakeDbzFees.vue')),
        meta: { title: '单病种费用生成', icon: 'iconfont icon-danbingzhong' },
      },
      {
        path: 'advrsEvnt',
        component: MenuBox,
        meta: { title: '不良事件', icon: 'iconfont icon-buliangshijian1' },
        children: [
          {
            path: 'fillAdverseEvent',
            component: createNameComponent(() => import('@/views/hospitalization/adverse-event/FillAderverseEvent.vue')),
            meta: { title: '不良事件上报', icon: 'iconfont icon-buliangshijian' },
          },
          {
            path: 'dealAdverseEvent',
            component: createNameComponent(() => import('@/views/hospitalization/adverse-event/DealAdverseEvent.vue')),
            meta: { title: '不良事件处理', icon: 'iconfont icon-buliangshijianchuli' },
          },
          {
            path: 'allAdverseEvent',
            component: createNameComponent(() => import('@/views/hospitalization/adverse-event/AllAdverseEvent.vue')),
            meta: { title: '不良事件汇总', icon: 'iconfont icon-buliangshijianhuizong' },
          },
        ],
      },
      {
        path: 'casefrntsht',
        component: MenuBox,
        meta: { title: '病案首页', icon: 'iconfont icon-binganshouye' },
        children: [
          {
            path: 'fillCaseFrontSheet',
            component: createNameComponent(() => import('@/views/hospitalization/case-front-sheet/FillCaseFrontSheet.vue')),
            meta: { title: '病案首页填写', icon: 'iconfont icon-binganshouyetianxie' },
          },
          {
            path: 'allCaseFrontSheet',
            component: createNameComponent(() => import('@/views/hospitalization/case-front-sheet/AllCaseFrontSheet.vue')),
            meta: { title: '病案首页汇总', icon: 'iconfont icon-binganshouye3x' },
          },
          {
            path: 'jieShouHuiZhen',
            component: createNameComponent(() => import('@/views/hospitalization/case-front-sheet/JieShouHuiZhen.vue')),
            meta: { title: '接收会诊', icon: 'iconfont icon-jieshouhuizhen' },
          },
        ],
      },
    ],
  },

  {
    path: '/outpatient',
    component: Layout,
    meta: { title: '门诊模块', icon: 'iconfont icon-menzhen' },
    children: [
      {
        path: 'mzGuideBill',
        component: createNameComponent(() => import('@/views/clinic/MzGuideBill.vue')),
        meta: { title: '门诊指引单', icon: 'iconfont icon-zhiyin' },
      },
      {
        path: 'doctorInfoManagement',
        component: createNameComponent(() => import('@/views/clinic/DoctorInfoManagement.vue')),
        meta: { title: '医生信息管理', icon: 'iconfont icon-renyuanxinxiguanli' },
      },
      {
        path: 'transferInOfExpenses',
        component: createNameComponent(() => import('@/views/clinic/TransferInOfExpenses.vue')),
        meta: { title: '急诊费用转入', icon: 'iconfont icon-feiyongzhuanru' },
      },
      {
        path: 'wxPayRefund',
        component: createNameComponent(() => import('@/views/clinic/WxPayRefund.vue')),
        meta: { title: '微信支付退款', icon: 'iconfont icon-tuikuan' },
      },
      {
        path: 'triage',
        component: MenuBox,
        meta: { title: '门诊分诊', icon: 'iconfont icon-menzhenfenzhen' },
        children: [
          {
            path: 'untriaged',
            component: createNameComponent(() => import('@/views/clinic/triage/Untriaged.vue')),
            meta: { title: '未分诊', icon: 'iconfont icon-weifenzhen' },
          },
          {
            path: 'triaged',
            component: createNameComponent(() => import('@/views/clinic/triage/Triaged.vue')),
            meta: { title: '已分诊', icon: 'iconfont icon-yifenzhen' },
          },
          {
            path: 'allTriages',
            component: createNameComponent(() => import('@/views/clinic/triage/AllTriages.vue')),
            meta: { title: '所有挂号', icon: 'iconfont icon-suoyou' },
          },
          {
            path: 'triageDeptSettings',
            component: createNameComponent(() => import('@/views/clinic/triage/DeptSettings.vue')),
            meta: { title: '科室设置', icon: 'iconfont icon-keshi' },
          },
          {
            path: 'triageRoomSettings',
            component: createNameComponent(() => import('@/views/clinic/triage/RoomSettings.vue')),
            meta: { title: '诊室设置', icon: 'iconfont icon-zhenshiguanli' },
          },
          {
            path: 'triageIpManagement',
            component: createNameComponent(() => import('@/views/clinic/triage/IpManagement.vue')),
            meta: { title: 'IP管理', icon: 'iconfont icon-ip' },
          },
          {
            path: 'triageDisplaySettings',
            component: createNameComponent(() => import('@/views/clinic/triage/DisplaySettings.vue')),
            meta: { title: '显示管理', icon: 'iconfont icon-xianshishezhi' },
          },
          {
            path: 'triageFloorScreen',
            component: createNameComponent(() => import('@/views/clinic/triage/FloorScreen.vue')),
            meta: { title: '分诊大屏', icon: 'iconfont icon-daping' },
          },
        ],
      },
    ],
  },
  {
    path: '/settings',
    component: Layout,
    meta: { title: '设置', icon: 'iconfont icon-shezhi' },
    children: [
      {
        path: 'deptPhones',
        component: createNameComponent(() => import('@/views/settings/DeptPhones.vue')),
        meta: { title: '科室电话', icon: 'iconfont icon-dianhua' },
      },
      {
        path: 'sendNotification',
        component: createNameComponent(() => import('@/views/settings/SendNotification.vue')),
        meta: { title: '发送通知', icon: 'iconfont icon-fasongtongzhi' },
      },
      {
        path: 'userInfo',
        component: createNameComponent(() => import('@/views/settings/UserInfo.vue')),
        meta: { title: '个人中心', icon: 'iconfont icon-gerenzhongxin' },
      },
      {
        path: 'permission',
        component: MenuBox,
        meta: { title: '权限管理', icon: 'iconfont icon-permission' },
        children: [
          {
            path: 'userRoleSettings',
            component: createNameComponent(() => import('@/views/settings/permissions/UserRoleSettings.vue')),
            meta: { title: '人员角色管理', icon: 'iconfont icon-renyuanjueseguanli' },
          },
          {
            path: 'roleMenuSettings',
            component: createNameComponent(() => import('@/views/settings/permissions/RoleMenuSettings.vue')),
            meta: { title: '角色菜单管理', icon: 'iconfont icon-juesecaidanguanli' },
          },
        ],
      },
    ],
  },
]

export default route
