From 4e972b184197a28f5983040a88bf6a92a07d6b50 Mon Sep 17 00:00:00 2001
From: linxd <544554903@qq.com>
Date: Tue, 1 Jul 2025 14:18:23 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=96=E6=A1=86layout?=
=?UTF-8?q?=E5=B8=83=E5=B1=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/router.config.ts | 345 ++++++------------
src/layouts/BasicLayout.tsx | 94 +++++
src/layouts/Header.tsx | 1 +
src/layouts/Index.tsx | 44 ++-
src/layouts/SiderMenu.tsx | 27 +-
src/locales/en-US/menu.ts | 7 +
src/locales/zh-CN/menu.ts | 7 +
src/models/breadcrumb.ts | 136 +++++++
src/models/readme.md | 4 +-
.../supplierTemplateManageAdd.tsx | 2 -
10 files changed, 419 insertions(+), 248 deletions(-)
create mode 100644 src/layouts/BasicLayout.tsx
create mode 100644 src/models/breadcrumb.ts
diff --git a/config/router.config.ts b/config/router.config.ts
index 818bce1..9b9517f 100644
--- a/config/router.config.ts
+++ b/config/router.config.ts
@@ -18,7 +18,9 @@ export default [
},
{
path: '/',
- component: '@/layouts/Index',
+ name: "首页",
+ component: '@/layouts/BasicLayout',
+ flatMenu: true,
routes: [
{
path: '/',
@@ -28,361 +30,250 @@ export default [
redirect: '/index',
},
{
- name: 'index',
path: '/index',
- meta: {
- title: '首页',
- icon: 'icon-shouye',
- },
+ name: "首页",
+ icon: 'icon-shouye',
component: '@/pages/index',
},
// 供应商评价分组
{
- name: 'supplierEvaluate',
+ name: '供应商评价',
path: '/supplierEvaluate',
- meta: {
- title: '供应商评价',
- icon: 'icon-youqinglianjie',
- },
- component: '@/layouts/MainLayout',
+ icon: 'icon-youqinglianjie',
routes: [
{
- name: 'supplierTemplateManage',
+ name: '模板管理',
path: '/supplierEvaluate/supplierTemplateManage',
- meta: {
- title: '模板管理',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManage',
},
{
- name: 'supplierTemplateManageAdd',
- path: 'supplierTemplateManageAdd',
- meta: {
- title: '模板管理新增',
- hide: true,
- icon: 'icon-fenlei',
- },
+ name: '模板管理新增',
+ path: '/supplierEvaluate/supplierTemplateManageAdd',
+ hideInMenu: true,
+ icon: 'icon-fenlei',
component: '@/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageAdd',
+ parentKeys: ['/supplierEvaluate/supplierTemplateManage'],
},
{
- name: 'supplierTemplateManageDetail',
- path: 'supplierTemplateManageDetail',
- meta: {
- title: '模板管理详情',
- hide: true,
- icon: 'icon-fenlei',
- },
+ name: '模板管理详情',
+ path: '/supplierEvaluate/supplierTemplateManageDetail',
+ hideInMenu: true,
component: '@/pages/supplierEvaluateManage/supplierTemplateManage/supplierTemplateManageDetail',
+ parentKeys: ['/supplierEvaluate/supplierTemplateManage'],
},
{
- name: 'supplierEvaluateRuleManage',
- path: 'supplierEvaluateRuleManage',
- meta: {
- title: '评价规则管理',
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价规则管理',
+ path: '/supplierEvaluate/supplierEvaluateRuleManage',
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierEvaluateManage/supplierEvaluateRuleManage/supplierEvaluateRuleManage',
},
{
- name: 'supplierTaskManage',
- path: 'supplierTaskManage',
- meta: {
- title: '任务管理',
- icon: 'icon-liebiaomoshi',
- },
+ name: '任务管理',
+ path: '/supplierEvaluate/supplierTaskManage',
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierEvaluateManage/supplierTaskManage/supplierTaskManage',
},
{
- name: 'supplierTaskManageAdd',
- path: 'supplierTaskManageAdd',
- meta: {
- title: '任务管理新增',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '任务管理新增',
+ path: '/supplierEvaluate/supplierTaskManageAdd',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierEvaluateManage/supplierTaskManage/supplierTaskManageAdd',
+ parentKeys: ['/supplierEvaluate/supplierTaskManage'],
},
{
- name: 'supplierTaskManageDetail',
- path: 'supplierTaskManageDetail',
- meta: {
- title: '任务管理详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '任务管理详情',
+ path: '/supplierEvaluate/supplierTaskManageDetail',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierEvaluate/supplierTaskManage'],
component: '@/pages/supplierEvaluateManage/supplierTaskManage/supplierTaskManageDetail',
},
{
- name: 'supplierEvaluateScore',
- path: 'supplierEvaluateScore',
- meta: {
- title: '评价打分',
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价打分',
+ path: '/supplierEvaluate/supplierEvaluateScore',
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierEvaluateManage/supplierEvaluateScore/supplierEvaluateScore',
},
{
- name: 'supplierEvaluateScoreDetail',
- path: 'supplierEvaluateScoreDetail',
- meta: {
- title: '评价打分详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价打分详情',
+ path: '/supplierEvaluate/supplierEvaluateScoreDetail',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierEvaluate/supplierEvaluateScore'],
component: '@/pages/supplierEvaluateManage/supplierEvaluateScore/supplierEvaluateScoreDetail',
},
{
- name: 'supplierEvaluateResult',
- path: 'supplierEvaluateResult',
- meta: {
- title: '评价结果',
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价结果',
+ path: '/supplierEvaluate/supplierEvaluateResult',
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierEvaluateManage/supplierEvaluateResult/supplierEvaluateResult',
},
{
- name: 'supplierEvaluateResultInfo',
- path: 'supplierEvaluateResultInfo',
- meta: {
- title: '评价结果详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价结果详情',
+ hide: true,
+ path: '/supplierEvaluate/supplierEvaluateResultInfo',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierEvaluate/supplierEvaluateResult'],
component: '@/pages/supplierEvaluateManage/supplierEvaluateResult/supplierEvaluateResultInfo',
},
{
- name: 'supplierEvaluateResultScoreDetail',
- path: 'supplierEvaluateResultScoreDetail',
- meta: {
- title: '评价结果得分明细',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价结果得分明细',
+ path: '/supplierEvaluate/supplierEvaluateResultScoreDetail',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierEvaluate/supplierEvaluateResult'],
component: '@/pages/supplierEvaluateManage/supplierEvaluateResult/supplierEvaluateResultScoreDetail',
},
{
- name: 'supplierEvaluateResultScoreByList',
- path: 'supplierEvaluateResultScoreByList',
- meta: {
- title: '评价结果打分情况',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价结果打分情况',
+ path: '/supplierEvaluate/supplierEvaluateResultScoreByList',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierEvaluate/supplierEvaluateResult'],
component: '@/pages/supplierEvaluateManage/supplierEvaluateResult/supplierEvaluateResultScoreByList',
},
{
- name: 'supplierEvaluateResultByZb',
- path: 'supplierEvaluateResultByZb',
- meta: {
- title: '评价结果详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ name: '评价结果详情',
+ path: '/supplierEvaluate/supplierEvaluateResultByZb',
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierEvaluate/supplierEvaluateResult'],
component: '@/pages/supplierEvaluateManage/supplierEvaluateResult/supplierEvaluateResultByZb',
},
- // {
- // name: 'supplierEvaluateResultApproval',
- // path: 'supplierEvaluateResultApproval',
- // meta: {
- // title: '评价结果审批',
- // icon: 'icon-liebiaomoshi',
- // },
- // component: '@/pages/supplierEvaluateManage/supplierEvaluateResultApproval/supplierEvaluateResultApproval',
- // },
- // {
- // name: 'supplierEvaluateResultApprovalInfo',
- // path: '/supplierEvaluateResultApproval/supplierEvaluateResultApprovalInfo',
- // meta: {
- // title: '评价审批详情',
- // hide: true,
- // icon: 'icon-liebiaomoshi',
- // },
- // component: '@/pages/supplierEvaluateManage/supplierEvaluateResultApproval/supplierEvaluateResultApprovalInfo',
- // }
]
},
//数据统计
{
- name: 'dataStatistics',
+ name: '数据统计',
path: '/dataStatistics',
- meta: {
- title: '数据统计',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/layouts/MainLayout',
routes: [
{
- name: 'supplierEvaluateStatistics',
+ name: '供应商评价情况统计',
path: '/dataStatistics/supplierEvaluateStatistics',
- meta: {
- title: '供应商评价情况统计',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/pages/dataStatistics/supplierEvaluateStatistics/supplierEvaluateStatistics',
}, {
- name: 'supplierAnnualStatistics',
+ name: '供应商年审情况统计',
path: '/dataStatistics/supplierAnnualStatistics',
- meta: {
- title: '供应商年审情况统计',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/pages/dataStatistics/supplierAnnualStatistics/supplierAnnualStatistics',
}, {
- name: 'supplierQualificationWarningStatistics',
+ name: '供应商资质预警统计',
path: '/dataStatistics/supplierQualificationWarningStatistics',
- meta: {
- title: '供应商资质预警统计',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/pages/dataStatistics/supplierQualificationWarningStatistics/supplierQualificationWarningStatistics',
}, {
- name: 'supplierExitStatistics',
+ name: '供应商清退情况统计',
path: '/dataStatistics/supplierExitStatistics',
- meta: {
- title: '供应商清退情况统计',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/pages/dataStatistics/supplierExitStatistics/supplierExitStatistics',
}
]
},
// 供应商年审分组
{
- name: 'supplierAnnual',
+ name: '供应商年审',
path: '/supplierAnnual',
- meta: {
- title: '供应商年审',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/layouts/MainLayout',
routes: [
{
- name: 'supplierAnnualTemplateManage',
+ name: '年审模板管理',
path: 'supplierAnnualTemplateManage',
- meta: {
- title: '年审模板管理',
- icon: 'icon-fenlei',
- },
+ icon: 'icon-fenlei',
component: '@/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManage',
},
{
- name: 'supplierAnnualTemplateManageAdd',
+ name: '年审模板管理新增',
path: 'supplierAnnualTemplateManageAdd',
- meta: {
- title: '年审模板管理新增',
- hide: true,
- icon: 'icon-fenlei',
- },
+ hideInMenu: true,
+ icon: 'icon-fenlei',
component: '@/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManageAdd',
},
{
- name: 'supplierAnnualTemplateManageDetail',
+ name: '年审模板管理详情',
path: 'supplierAnnualTemplateManageDetail',
- meta: {
- title: '年审模板管理详情',
- hide: true,
- icon: 'icon-fenlei',
- },
+ hideInMenu: true,
+ icon: 'icon-fenlei',
component: '@/pages/supplierAnnualManage/supplierAnnualTemplateManage/supplierAnnualTemplateManageDetail',
},
{
- name: 'supplierAnnualTaskManage',
+ name: '年审任务管理',
path: 'supplierAnnualTaskManage',
- meta: {
- title: '年审任务管理',
- icon: 'icon-liebiaomoshi',
- },
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManage',
},
{
- name: 'supplierAnnualTaskManageAdd',
+ name: '年审任务管理新增',
path: 'supplierAnnualTaskManageAdd',
- meta: {
- title: '年审任务管理新增',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManageAdd',
},
{
- name: 'supplierAnnualTaskManageDetail',
+ name: '年审任务管理详情',
path: 'supplierAnnualTaskManageDetail',
- meta: {
- title: '年审任务管理详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierAnnualManage/supplierAnnualTaskManage/supplierAnnualTaskManageDetail',
},
{
- name: 'supplierAnnualReview',
+ name: '年度审查',
path: 'supplierAnnualReview',
- meta: {
- title: '年度审查',
- icon: 'icon-liebiaomoshi',
- },
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualQuery',
},
{
- name: 'supplierAnnualScore',
+ name: '年审打分',
path: 'supplierAnnualScore',
- meta: {
- title: '年审打分',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualScore',
+ parentKeys: ['/supplierAnnual/supplierAnnualReview'],
},
{
- name: 'supplierAnnualScoreDetail',
+ name: '年审打分详情',
path: 'supplierAnnualScoreDetail',
- meta: {
- title: '年审打分详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierAnnual/supplierAnnualScore'],
component: '@/pages/supplierAnnualManage/supplierAnnualReview/supplierAnnualScoreDetail',
},
{
- name: 'supplierAnnualResult',
+ name: '年审结果',
path: 'supplierAnnualResult',
- meta: {
- title: '年审结果',
- icon: 'icon-liebiaomoshi',
- },
+ icon: 'icon-liebiaomoshi',
component: '@/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResult',
},
{
- name: 'supplierAnnualResultQuery',
+ name: '年审结果一级查询列表',
path: 'supplierAnnualResultQuery',
- meta: {
- title: '年审结果一级查询列表',
- icon: 'icon-liebiaomoshi',
- hide: true,
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierAnnual/supplierAnnualResult'],
component: '@/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery',
},
{
- name: 'supplierAnnualResultQuery2',
+ name: '年审结果二级查询列表',
path: 'supplierAnnualResultQuery2',
- meta: {
- title: '年审结果二级查询列表',
- icon: 'icon-liebiaomoshi',
- hide: true,
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierAnnual/supplierAnnualResult'],
component: '@/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultQuery2',
},
{
- name: 'supplierAnnualResultDetail',
+ name: '年审结果详情',
path: 'supplierAnnualResultDetail',
- meta: {
- title: '年审结果详情',
- hide: true,
- icon: 'icon-liebiaomoshi',
- },
+ hideInMenu: true,
+ icon: 'icon-liebiaomoshi',
+ parentKeys: ['/supplierAnnual/supplierAnnualResult'],
component: '@/pages/supplierAnnualManage/supplierAnnualResult/supplierAnnualResultDetail',
}
]
diff --git a/src/layouts/BasicLayout.tsx b/src/layouts/BasicLayout.tsx
new file mode 100644
index 0000000..c6e2339
--- /dev/null
+++ b/src/layouts/BasicLayout.tsx
@@ -0,0 +1,94 @@
+// src/layouts/BasicLayout.tsx
+import React from 'react';
+import ProLayout, { PageContainer } from '@ant-design/pro-layout';
+import { Link, useLocation, useIntl, useHistory } from 'umi';
+import defaultSettings from '../../config/defaultSettings';
+import routes from '../../config/router.config'; // 引入你的自定义路由结构
+import { ConfigProvider, Breadcrumb } from 'antd';
+import HeaderComponent from './Header';
+import IconFont from '@/components/IconFont/IconFont';
+
+
+const MenuRender = (item: any, isSubMenu: boolean) => {
+ const intl = useIntl();
+ return (
+ <>
+ {isSubMenu ? (
+
+