outaozhen 2 роки тому
батько
коміт
4cea3c0e51
2 змінених файлів з 27 додано та 23 видалено
  1. 5 1
      src/access.ts
  2. 22 22
      src/pages/Permission/Role/components/PermTabs/index.tsx

+ 5 - 1
src/access.ts

@@ -7,7 +7,11 @@ export default function access(initialState: { currentUser?: API.CurrentUser | u
     if (initialState?.currentUser?.account === 'admin') {
       return true
     }
-    if (route.name && permission.includes(route.name.match(/^(\w*)-/)?.[1] ?? route.name)) {
+    const permissionList = permission.map(item => item.match(/^view(\w*)/)).map(item => item[1])
+    const newPermission = permissionList.map(item => item.replace(item[0], item[0].toLowerCase()))
+
+    const name = route.name.match(/^(\w*)-/)?.[1]
+    if (route.name && newPermission.includes(`${name}`)) {
       return true
     }
     return false

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

@@ -232,8 +232,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>项目管理</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'management')}
-                      checked={state.backstagePermission.includes('management')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewManagement')}
+                      checked={state.backstagePermission.includes('viewManagement')}>
                       查看项目
                     </Checkbox>
                     <Checkbox
@@ -266,8 +266,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">审批流程模板</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'verification')}
-                      checked={state.backstagePermission.includes('verification')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewVerification')}
+                      checked={state.backstagePermission.includes('viewVerification')}>
                       查看流程
                     </Checkbox>
                     <Checkbox
@@ -292,8 +292,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>单位管理</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'company')}
-                      checked={state.backstagePermission.includes('company')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewCompany')}
+                      checked={state.backstagePermission.includes('viewCompany')}>
                       查看单位
                     </Checkbox>
                     <Checkbox
@@ -326,8 +326,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">人员管理</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'staff')}
-                      checked={state.backstagePermission.includes('staff')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewStaff')}
+                      checked={state.backstagePermission.includes('viewStaff')}>
                       查看人员
                     </Checkbox>
                     <Checkbox
@@ -342,8 +342,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">限制登录</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'restrict')}
-                      checked={state.backstagePermission.includes('restrict')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewRestrict')}
+                      checked={state.backstagePermission.includes('viewRestrict')}>
                       查看人员
                     </Checkbox>
                     <Checkbox
@@ -372,8 +372,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">流程用户配置</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'process')}
-                      checked={state.backstagePermission.includes('process')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewProcess')}
+                      checked={state.backstagePermission.includes('viewProcess')}>
                       查看信息
                     </Checkbox>
                   </div>
@@ -382,8 +382,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">资料清单配置</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'inventory')}
-                      checked={state.backstagePermission.includes('inventory')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewInventory')}
+                      checked={state.backstagePermission.includes('viewInventory')}>
                       查看信息
                     </Checkbox>
                   </div>
@@ -396,8 +396,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>基础数据设置</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'base')}
-                      checked={state.backstagePermission.includes('base')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewBase')}
+                      checked={state.backstagePermission.includes('viewBase')}>
                       查看项目信息
                     </Checkbox>
                     <Checkbox
@@ -436,8 +436,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">数据源设置</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'option')}
-                      checked={state.backstagePermission.includes('option')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewOption')}
+                      checked={state.backstagePermission.includes('viewOption')}>
                       查看信息
                     </Checkbox>
                     <Checkbox
@@ -452,8 +452,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4 className="pt-3">预算业务表单设置</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'budget')}
-                      checked={state.backstagePermission.includes('budget')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewBudget')}
+                      checked={state.backstagePermission.includes('viewBudget')}>
                       查看信息
                     </Checkbox>
                   </div>
@@ -466,8 +466,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
                   <h4>管理员设置</h4>
                   <div className="my-2">
                     <Checkbox
-                      onChange={e => handleBackOnchange(e.target.checked, 'admin')}
-                      checked={state.backstagePermission.includes('admin')}>
+                      onChange={e => handleBackOnchange(e.target.checked, 'viewAdmin')}
+                      checked={state.backstagePermission.includes('viewAdmin')}>
                       查看信息
                     </Checkbox>
                     <Checkbox