|
@@ -1,4 +1,4 @@
|
|
|
-import { Card, Tabs, Checkbox, Affix, Button, message, Spin } from 'antd'
|
|
|
+import { Card, Tabs, Checkbox, Button, message, Spin } from 'antd'
|
|
|
import React, { useState } from 'react'
|
|
|
import { queryRoleDetailByID, setRolePermission } from '@/services/permission'
|
|
|
import { useRequest } from '@umijs/max'
|
|
@@ -12,6 +12,10 @@ type PermTabsProps = {
|
|
|
roleType: RoleType
|
|
|
}
|
|
|
}
|
|
|
+export enum OperationType {
|
|
|
+ FRONT = 'front', // 前台
|
|
|
+ BACKSTAGE = 'backstage' // 后台
|
|
|
+}
|
|
|
const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }) => {
|
|
|
const [state, setState] = useState({
|
|
|
frontPermission: [], // 前台权限
|
|
@@ -52,10 +56,18 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
- const handleSubmit = () => {
|
|
|
+ const handleSubmitFront = () => {
|
|
|
+ trySetRolePermission({
|
|
|
+ ID,
|
|
|
+ operation: OperationType.FRONT,
|
|
|
+ frontPermission: state.frontPermission
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleSubmitBackstage = () => {
|
|
|
trySetRolePermission({
|
|
|
ID,
|
|
|
- frontPermission: state.frontPermission,
|
|
|
+ operation: OperationType.BACKSTAGE,
|
|
|
backstagePermission: state.backstagePermission
|
|
|
})
|
|
|
}
|
|
@@ -202,19 +214,21 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
</Card>
|
|
|
</div>
|
|
|
</Spin>
|
|
|
+ <Button type="primary" onClick={handleSubmitFront} loading={submitStauts}>
|
|
|
+ 提交
|
|
|
+ </Button>
|
|
|
</TabPane>
|
|
|
<TabPane tab="后台" key="4" className="tab-height overflow-y-auto">
|
|
|
<Spin spinning={loading}>
|
|
|
<div className="shadow-md mb-4">
|
|
|
- <Card size="small" type="inner" title="项目">
|
|
|
+ <Card size="small" type="inner" title="项目审批设置">
|
|
|
<div>
|
|
|
<h4>项目管理</h4>
|
|
|
<div className="my-2">
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'password')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
- 密码修改
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'management')}
|
|
|
+ checked={state.backstagePermission.includes('management')}>
|
|
|
+ 查看项目
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
|
onChange={e => handleBackOnchange(e.target.checked, 'addBa1')}
|
|
@@ -246,9 +260,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, 'accessBa2')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewApporvalTemplate')}
|
|
|
+ checked={state.backstagePermission.includes('viewApporvalTemplate')}>
|
|
|
查看流程
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
@@ -265,29 +278,6 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
</Checkbox>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <h4 className="pt-3">项目创建人</h4>
|
|
|
- <div className="my-2">
|
|
|
- <Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'accessBa3')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
- 查看创建人
|
|
|
- </Checkbox>
|
|
|
- <Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'addBa3')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
- 新建创建人
|
|
|
- </Checkbox>
|
|
|
- <Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'deleteBa3')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
- 删除创建人
|
|
|
- </Checkbox>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
</Card>
|
|
|
</div>
|
|
|
<div className="shadow-md mb-4">
|
|
@@ -296,9 +286,8 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
<h4>单位管理</h4>
|
|
|
<div className="my-2">
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'accessBa4')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewCompany')}
|
|
|
+ checked={state.backstagePermission.includes('viewCompany')}>
|
|
|
查看单位
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
@@ -331,9 +320,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, 'accessBa5')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewAccount')}
|
|
|
+ checked={state.backstagePermission.includes('viewAccount')}>
|
|
|
查看人员
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
@@ -347,58 +335,107 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
</Card>
|
|
|
</div>
|
|
|
<div className="shadow-md mb-4">
|
|
|
- <Card size="small" type="inner" title="业务设置">
|
|
|
+ <Card size="small" type="inner" title="业务审批设置">
|
|
|
<div>
|
|
|
- <h4>项目信息</h4>
|
|
|
+ <h4>业务管理</h4>
|
|
|
<div className="my-2">
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'accessBa6')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewBusiness')}
|
|
|
+ checked={state.backstagePermission.includes('viewBusiness')}>
|
|
|
查看信息
|
|
|
</Checkbox>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <h4 className="pt-3">流程用户配置</h4>
|
|
|
+ <div className="my-2">
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'editBa6')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
- 编辑信息
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'process')}
|
|
|
+ checked={state.backstagePermission.includes('process')}>
|
|
|
+ 查看信息
|
|
|
</Checkbox>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <h4 className="pt-3">企事业单位信息</h4>
|
|
|
+ <h4 className="pt-3">资料清单配置</h4>
|
|
|
<div className="my-2">
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'accessBa7')}
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewDataList')}
|
|
|
+ checked={state.backstagePermission.includes('viewDataList')}>
|
|
|
+ 查看信息
|
|
|
+ </Checkbox>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Card>
|
|
|
+ </div>
|
|
|
+ <div className="shadow-md mb-4">
|
|
|
+ <Card size="small" type="inner" title="表单设置">
|
|
|
+ <div>
|
|
|
+ <h4>基础数据设置</h4>
|
|
|
+ <div className="my-2">
|
|
|
+ <Checkbox
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewFormProject')}
|
|
|
+ checked={state.backstagePermission.includes('viewFormProject')}>
|
|
|
+ 查看项目信息
|
|
|
+ </Checkbox>
|
|
|
+ <Checkbox
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'editBa6')}
|
|
|
checked={state.backstagePermission.includes('updatePsw')}
|
|
|
disabled>
|
|
|
- 查看信息
|
|
|
+ 编辑项目信息
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'editBa7')}
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'editBa6')}
|
|
|
checked={state.backstagePermission.includes('updatePsw')}
|
|
|
disabled>
|
|
|
- 编辑信息
|
|
|
+ 查看企事业单位信息
|
|
|
+ </Checkbox>
|
|
|
+ <Checkbox
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'editBa6')}
|
|
|
+ checked={state.backstagePermission.includes('updatePsw')}
|
|
|
+ disabled>
|
|
|
+ 编辑企事业单位信息
|
|
|
+ </Checkbox>
|
|
|
+ <Checkbox
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'editBa6')}
|
|
|
+ checked={state.backstagePermission.includes('updatePsw')}
|
|
|
+ disabled>
|
|
|
+ 查看人员信息
|
|
|
+ </Checkbox>
|
|
|
+ <Checkbox
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'editBa6')}
|
|
|
+ checked={state.backstagePermission.includes('updatePsw')}
|
|
|
+ disabled>
|
|
|
+ 编辑人员信息
|
|
|
</Checkbox>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <h4 className="pt-3">人员信息</h4>
|
|
|
+ <h4 className="pt-3">数据源设置</h4>
|
|
|
<div className="my-2">
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'accessBa8')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'viewDataSource')}
|
|
|
+ checked={state.backstagePermission.includes('viewDataSource')}>
|
|
|
查看信息
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
|
- onChange={e => handleBackOnchange(e.target.checked, 'editBa8')}
|
|
|
+ onChange={e => handleBackOnchange(e.target.checked, 'editBa7')}
|
|
|
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, 'viewBudget')}
|
|
|
+ checked={state.backstagePermission.includes('viewBudget')}>
|
|
|
+ 查看信息
|
|
|
+ </Checkbox>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</Card>
|
|
|
</div>
|
|
|
<div className="shadow-md mb-4">
|
|
@@ -408,8 +445,7 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
<div className="my-2">
|
|
|
<Checkbox
|
|
|
onChange={e => handleBackOnchange(e.target.checked, 'accessBa9')}
|
|
|
- checked={state.backstagePermission.includes('updatePsw')}
|
|
|
- disabled>
|
|
|
+ checked={state.backstagePermission.includes('updatePsw')}>
|
|
|
查看信息
|
|
|
</Checkbox>
|
|
|
<Checkbox
|
|
@@ -423,13 +459,16 @@ const PermTabs: React.FC<PermTabsProps> = ({ currentPermData: { ID, roleType } }
|
|
|
</Card>
|
|
|
</div>
|
|
|
</Spin>
|
|
|
+ <Button type="primary" onClick={handleSubmitBackstage} loading={submitStauts}>
|
|
|
+ 提交
|
|
|
+ </Button>
|
|
|
</TabPane>
|
|
|
</Tabs>
|
|
|
- <Affix offsetBottom={10}>
|
|
|
+ {/* <Affix offsetBottom={10}>
|
|
|
<Button type="primary" onClick={handleSubmit} loading={submitStauts}>
|
|
|
提交
|
|
|
</Button>
|
|
|
- </Affix>
|
|
|
+ </Affix> */}
|
|
|
</div>
|
|
|
)
|
|
|
}
|