Selaa lähdekoodia

fix: 权限登录权限接入相关

outaozhen 3 vuotta sitten
vanhempi
commit
52e7f012fd

+ 13 - 3
config/routes.ts

@@ -58,6 +58,7 @@
       {
       {
         path: '/project/verification',
         path: '/project/verification',
         name: 'verification',
         name: 'verification',
+        access: 'authRouteFilter',
         component: './Project/Verification'
         component: './Project/Verification'
       }
       }
     ]
     ]
@@ -81,13 +82,15 @@
           },
           },
           {
           {
             path: 'list',
             path: 'list',
-            name: 'list',
+            name: 'company-list',
+            access: 'authRouteFilter',
             hideInMenu: true,
             hideInMenu: true,
             component: './Institutions/Company/List'
             component: './Institutions/Company/List'
           },
           },
           {
           {
             path: ':id',
             path: ':id',
-            name: 'detail',
+            name: 'company-detail',
+            access: 'authRouteFilter',
             hideInMenu: true,
             hideInMenu: true,
             component: './Institutions/Company/Detail'
             component: './Institutions/Company/Detail'
           }
           }
@@ -96,11 +99,13 @@
       {
       {
         path: 'staff',
         path: 'staff',
         name: 'staff',
         name: 'staff',
+        access: 'authRouteFilter',
         component: './Institutions/Staff'
         component: './Institutions/Staff'
       },
       },
       {
       {
         path: 'restrict',
         path: 'restrict',
         name: 'restrict',
         name: 'restrict',
+        access: 'authRouteFilter',
         component: './Institutions/Restrict'
         component: './Institutions/Restrict'
       }
       }
     ]
     ]
@@ -117,13 +122,13 @@
       {
       {
         path: 'inventory',
         path: 'inventory',
         name: 'inventory',
         name: 'inventory',
+        access: 'authRouteFilter',
         component: './Business/Inventory'
         component: './Business/Inventory'
       },
       },
       {
       {
         path: 'process',
         path: 'process',
         name: 'process',
         name: 'process',
         access: 'authRouteFilter',
         access: 'authRouteFilter',
-        validatePerm: true,
         component: './Business/Process'
         component: './Business/Process'
       }
       }
     ]
     ]
@@ -136,23 +141,27 @@
       {
       {
         path: 'base',
         path: 'base',
         name: 'base',
         name: 'base',
+        access: 'authRouteFilter',
         icon: 'icon-schema',
         icon: 'icon-schema',
         component: './Schema/Base/index.tsx'
         component: './Schema/Base/index.tsx'
       },
       },
       {
       {
         path: 'base/:id',
         path: 'base/:id',
         name: 'baseDetail',
         name: 'baseDetail',
+        access: 'authRouteFilter',
         component: './Schema/Base/detail.tsx',
         component: './Schema/Base/detail.tsx',
         hideInMenu: true
         hideInMenu: true
       },
       },
       {
       {
         path: 'option',
         path: 'option',
         name: 'option',
         name: 'option',
+        access: 'authRouteFilter',
         component: './Schema/Option'
         component: './Schema/Option'
       },
       },
       {
       {
         path: 'budget',
         path: 'budget',
         name: 'budget',
         name: 'budget',
+        access: 'authRouteFilter',
         component: './Schema/Budget'
         component: './Schema/Budget'
       },
       },
       {
       {
@@ -196,6 +205,7 @@
       {
       {
         path: 'admin',
         path: 'admin',
         name: 'admin',
         name: 'admin',
+        access: 'authRouteFilter',
         component: './System/Admin'
         component: './System/Admin'
       }
       }
     ]
     ]

+ 3 - 0
src/access.ts

@@ -4,6 +4,9 @@
 export default function access(initialState: { currentUser?: API.CurrentUser | undefined }) {
 export default function access(initialState: { currentUser?: API.CurrentUser | undefined }) {
   const permission = initialState?.currentUser?.permission || []
   const permission = initialState?.currentUser?.permission || []
   const authRouteFilter = route => {
   const authRouteFilter = route => {
+    console.log(permission)
+    console.log(route.name)
+
     if (route.name && permission.includes(route.name.match(/^(\w*)-/)?.[1] ?? route.name)) {
     if (route.name && permission.includes(route.name.match(/^(\w*)-/)?.[1] ?? route.name)) {
       return true
       return true
     }
     }

+ 4 - 4
src/locales/zh-CN/menu.ts

@@ -17,8 +17,8 @@ export default {
   'menu.account.logout': '退出登录',
   'menu.account.logout': '退出登录',
   'menu.project': '项目审批设置',
   'menu.project': '项目审批设置',
   'menu.project.management': '项目管理',
   'menu.project.management': '项目管理',
-  'menu.project.management.list': '项目列表',
-  'menu.project.management.detail': '项目详情',
+  'menu.project.management.management-list': '项目列表',
+  'menu.project.management.management-detail': '项目详情',
   'menu.project.created': '项目创建人',
   'menu.project.created': '项目创建人',
   'menu.project.verification': '审批流程模板',
   'menu.project.verification': '审批流程模板',
   'menu.institutions': '企事业单位',
   'menu.institutions': '企事业单位',
@@ -28,8 +28,8 @@ export default {
   'menu.business': '业务审批设置',
   'menu.business': '业务审批设置',
   'menu.business.inventory': '资料签收清单模板',
   'menu.business.inventory': '资料签收清单模板',
   'menu.business.process': '流程用户设置',
   'menu.business.process': '流程用户设置',
-  'menu.institutions.company.list': '单位列表',
-  'menu.institutions.company.detail': '单位详情',
+  'menu.institutions.company.company-list': '单位列表',
+  'menu.institutions.company.company-detail': '单位详情',
   'menu.schema': '表单设置',
   'menu.schema': '表单设置',
   'menu.schema.base': '基础数据设置',
   'menu.schema.base': '基础数据设置',
   'menu.schema.option': '数据源设置',
   'menu.schema.option': '数据源设置',

+ 34 - 18
src/pages/Permission/Role/components/PermTabs/index.tsx

@@ -260,8 +260,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">审批流程模板</h4>
                   <h4 className="pt-3">审批流程模板</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewApporvalTemplate')}
-                      checked={state.backstagePermission.includes('viewApporvalTemplate')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'verification')}
+                      checked={state.backstagePermission.includes('verification')}>
                       查看流程
                       查看流程
                     </Checkbox>
                     </Checkbox>
                     <Checkbox
                     <Checkbox
@@ -286,8 +286,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>单位管理</h4>
                   <h4>单位管理</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewCompany')}
-                      checked={state.backstagePermission.includes('viewCompany')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'company')}
+                      checked={state.backstagePermission.includes('company')}>
                       查看单位
                       查看单位
                     </Checkbox>
                     </Checkbox>
                     <Checkbox
                     <Checkbox
@@ -320,8 +320,24 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">人员管理</h4>
                   <h4 className="pt-3">人员管理</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewAccount')}
-                      checked={state.backstagePermission.includes('viewAccount')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'staff')}
+                      checked={state.backstagePermission.includes('staff')}>
+                      查看人员
+                    </Checkbox>
+                    <Checkbox
+                      onChange={e => handleBackOnchange(e.target.checked, 'editBa5')}
+                      checked={state.backstagePermission.includes('updatePsw')}
+                      disabled>
+                      编辑人员
+                    </Checkbox>
+                  </div>
+                </div>
+                <div>
+                  <h4 className="pt-3">限制登录</h4>
+                  <div className="my-2">
+                    <Checkbox
+                      onChange={e => handleBackOnchange(e.target.checked, 'restrict')}
+                      checked={state.backstagePermission.includes('restrict')}>
                       查看人员
                       查看人员
                     </Checkbox>
                     </Checkbox>
                     <Checkbox
                     <Checkbox
@@ -336,7 +352,7 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
             </div>
             </div>
             <div className="shadow-md mb-4">
             <div className="shadow-md mb-4">
               <Card size="small" type="inner" title="业务审批设置">
               <Card size="small" type="inner" title="业务审批设置">
-                <div>
+                {/* <div>
                   <h4>业务管理</h4>
                   <h4>业务管理</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
@@ -345,7 +361,7 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                       查看信息
                       查看信息
                     </Checkbox>
                     </Checkbox>
                   </div>
                   </div>
-                </div>
+                </div> */}
                 <div>
                 <div>
                   <h4 className="pt-3">流程用户配置</h4>
                   <h4 className="pt-3">流程用户配置</h4>
                   <div className="my-2">
                   <div className="my-2">
@@ -360,8 +376,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">资料清单配置</h4>
                   <h4 className="pt-3">资料清单配置</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewDataList')}
-                      checked={state.backstagePermission.includes('viewDataList')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'inventory')}
+                      checked={state.backstagePermission.includes('inventory')}>
                       查看信息
                       查看信息
                     </Checkbox>
                     </Checkbox>
                   </div>
                   </div>
@@ -374,8 +390,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>基础数据设置</h4>
                   <h4>基础数据设置</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewFormProject')}
-                      checked={state.backstagePermission.includes('viewFormProject')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'base')}
+                      checked={state.backstagePermission.includes('base')}>
                       查看项目信息
                       查看项目信息
                     </Checkbox>
                     </Checkbox>
                     <Checkbox
                     <Checkbox
@@ -414,8 +430,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">数据源设置</h4>
                   <h4 className="pt-3">数据源设置</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewDataSource')}
-                      checked={state.backstagePermission.includes('viewDataSource')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'option')}
+                      checked={state.backstagePermission.includes('option')}>
                       查看信息
                       查看信息
                     </Checkbox>
                     </Checkbox>
                     <Checkbox
                     <Checkbox
@@ -430,8 +446,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">预算业务表单设置</h4>
                   <h4 className="pt-3">预算业务表单设置</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'viewBudget')}
-                      checked={state.backstagePermission.includes('viewBudget')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'budget')}
+                      checked={state.backstagePermission.includes('budget')}>
                       查看信息
                       查看信息
                     </Checkbox>
                     </Checkbox>
                   </div>
                   </div>
@@ -444,8 +460,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>管理员设置</h4>
                   <h4>管理员设置</h4>
                   <div className="my-2">
                   <div className="my-2">
                     <Checkbox
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'accessBa9')}
-                      checked={state.backstagePermission.includes('updatePsw')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'admin')}
+                      checked={state.backstagePermission.includes('admin')}>
                       查看信息
                       查看信息
                     </Checkbox>
                     </Checkbox>
                     <Checkbox
                     <Checkbox